diff --git a/README.md b/README.md index 0d0471f62..7c7f13754 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ It covers everything you need to install OpenVADL, write a specification, and us simulator or compiler. For working VADL specifications examples, check out -our [reference specifications](https://github.com/OpenVADL/openvadl/tree/master/vadl/test/resources/testSource/sys). +our [reference specifications](https://github.com/OpenVADL/openvadl/tree/master/vadl-test/resources/testSource/sys). These are tested and kept up to date with the current OpenVADL version. ## Contribution @@ -156,4 +156,3 @@ With this, IntelliJ uses the code style rules as specified in the Checkstyle con Note that Checkstyle and code style are not 100% compatible, so IntelliJ will eventually generate some invalid formatted code (such as Java docs paragraph separation). - diff --git a/build.gradle.kts b/build.gradle.kts index 8db9887f8..0fc348109 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("conventions-idea") alias(libs.plugins.git.versioning) + alias(libs.plugins.kotlin.jvm) apply false } group = "openvadl" @@ -23,7 +24,7 @@ gitVersioning.apply { tasks.register("test-common") { dependsOn( - ":vadl:test-others", + ":vadl-test:test-others", ":vadl-cli:test", ":vadl-lsp:test", ":java-annotations:test", diff --git a/java-annotations/main/vadl/javaannotations/Handler.java b/java-annotations/main/vadl/javaannotations/Handler.java index 65385b372..928dfc721 100644 --- a/java-annotations/main/vadl/javaannotations/Handler.java +++ b/java-annotations/main/vadl/javaannotations/Handler.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -142,7 +142,7 @@ * * @see DispatchFor */ -@Retention(java.lang.annotation.RetentionPolicy.SOURCE) +@Retention(java.lang.annotation.RetentionPolicy.CLASS) @Target(ElementType.METHOD) public @interface Handler { } diff --git a/java-annotations/main/vadl/javaannotations/HandlerProcessor.java b/java-annotations/main/vadl/javaannotations/HandlerProcessor.java index bad3bcab5..09e79522f 100644 --- a/java-annotations/main/vadl/javaannotations/HandlerProcessor.java +++ b/java-annotations/main/vadl/javaannotations/HandlerProcessor.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -253,7 +253,7 @@ private void collectHandlerMethodsRecursive( // Collect methods from the current class for (Element elem : clazz.getEnclosedElements()) { if (elem.getKind() == ElementKind.METHOD - && elem.getAnnotation(Handler.class) != null) { + && hasAnnotation(elem, Handler.class.getCanonicalName())) { ExecutableElement method = (ExecutableElement) elem; List parameters = method.getParameters(); @@ -323,6 +323,12 @@ private void collectHandlerMethodsRecursive( } } + private static boolean hasAnnotation(Element element, String annotationClassName) { + return element.getAnnotationMirrors().stream() + .anyMatch(annotation -> + annotation.getAnnotationType().toString().equals(annotationClassName)); + } + private boolean isVoid(TypeMirror type) { return type.getKind() == TypeKind.VOID || typeUtils.isSameType(type, elementUtils.getTypeElement("java.lang.Void").asType()); @@ -564,4 +570,4 @@ private int getInheritanceDepth(TypeMirror type) { private String typeMirrorSimpleName(TypeMirror typeMirror) { return typeMirror.toString().substring(typeMirror.toString().lastIndexOf('.') + 1); } -} \ No newline at end of file +} diff --git a/settings.gradle.kts b/settings.gradle.kts index c841ec4ae..0d75612fd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -20,7 +20,13 @@ plugins { rootProject.name = "open-vadl" -include("vadl") +include("vadl-core") +include("vadl-pass-api") +include("vadl-frontend") +include("vadl-vdt") +include("vadl-rtl") +include("vadl-iss") +include("vadl-lcb-gcb") include("java-annotations") include("vadl-cli") include("vadl-lsp") diff --git a/vadl-cli/build.gradle.kts b/vadl-cli/build.gradle.kts index 24d5b6c61..e0e187255 100644 --- a/vadl-cli/build.gradle.kts +++ b/vadl-cli/build.gradle.kts @@ -10,7 +10,13 @@ group = "vadl" version = "unspecified" dependencies { - implementation(project(":vadl")) + implementation(project(":vadl-core")) + implementation(project(":vadl-pass-api")) + implementation(project(":vadl-frontend")) + implementation(project(":vadl-vdt")) + implementation(project(":vadl-rtl")) + implementation(project(":vadl-iss")) + implementation(project(":vadl-lcb-gcb")) implementation(project(":vadl-lsp")) implementation(libs.picocli) implementation(libs.commons.compress) diff --git a/vadl-cli/main/vadl/cli/BaseCommand.java b/vadl-cli/main/vadl/cli/BaseCommand.java index 5b1cd2368..417b0f1ae 100644 --- a/vadl-cli/main/vadl/cli/BaseCommand.java +++ b/vadl-cli/main/vadl/cli/BaseCommand.java @@ -50,6 +50,7 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.dump.ArtifactTracker; +import vadl.dump.PassFailureDumpHandler; import vadl.error.DeferredDiagnosticStore; import vadl.error.Diagnostic; import vadl.error.DiagnosticList; @@ -347,7 +348,7 @@ public Integer call() { final var totalStartTime = System.nanoTime(); var viam = parseToVIAM(); var passOrder = passOrder(getConfig()); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(passOrder); passManager.run(viam); var result = passManager.getPassResults(); diff --git a/vadl-cli/main/vadl/cli/CheckCommand.java b/vadl-cli/main/vadl/cli/CheckCommand.java index 2faae5e47..d2ad433bb 100644 --- a/vadl-cli/main/vadl/cli/CheckCommand.java +++ b/vadl-cli/main/vadl/cli/CheckCommand.java @@ -20,7 +20,7 @@ import picocli.CommandLine.Command; import vadl.configuration.GeneralConfiguration; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; +import vadl.pipeline.VdtPassOrders; /** * The Command does provide the check subcommand. @@ -34,6 +34,6 @@ public class CheckCommand extends BaseCommand implements Callable { @Override PassOrder passOrder(GeneralConfiguration configuration) { - return PassOrders.check(configuration); + return VdtPassOrders.check(configuration); } } diff --git a/vadl-cli/main/vadl/cli/IssCommand.java b/vadl-cli/main/vadl/cli/IssCommand.java index 8ac04913b..69718c887 100644 --- a/vadl-cli/main/vadl/cli/IssCommand.java +++ b/vadl-cli/main/vadl/cli/IssCommand.java @@ -35,7 +35,7 @@ import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; +import vadl.pipeline.IssPassOrders; /** * The Command does provide the iss subcommand. @@ -77,7 +77,7 @@ PassOrder passOrder(GeneralConfiguration configuration) throws IOException { var issConfig = new IssConfiguration(configuration); issConfig.setDryRun(dryRun); issConfig.setOptsToSkip(skipOpts); - return PassOrders.iss(issConfig); + return IssPassOrders.iss(issConfig); } @Override diff --git a/vadl-cli/main/vadl/cli/LcbCommand.java b/vadl-cli/main/vadl/cli/LcbCommand.java index c55a5b968..cfeb40512 100644 --- a/vadl-cli/main/vadl/cli/LcbCommand.java +++ b/vadl-cli/main/vadl/cli/LcbCommand.java @@ -27,7 +27,7 @@ import vadl.configuration.LcbConfiguration; import vadl.gcb.valuetypes.TargetName; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; +import vadl.pipeline.LcbGcbPassOrders; /** * The Command does provide the lcb subcommand. @@ -51,7 +51,7 @@ public class LcbCommand extends BaseCommand { @Override PassOrder passOrder(GeneralConfiguration configuration) throws IOException { var lcbConfig = new LcbConfiguration(configuration, targetName(), skipPatternGeneration); - return PassOrders.lcb(lcbConfig); + return LcbGcbPassOrders.lcb(lcbConfig); } @Nullable diff --git a/vadl-cli/main/vadl/cli/RtlCommand.java b/vadl-cli/main/vadl/cli/RtlCommand.java index 0587952a1..fe5476053 100644 --- a/vadl-cli/main/vadl/cli/RtlCommand.java +++ b/vadl-cli/main/vadl/cli/RtlCommand.java @@ -25,7 +25,7 @@ import vadl.configuration.GeneralConfiguration; import vadl.configuration.RtlConfiguration; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; +import vadl.pipeline.RtlPassOrders; /** * The Command does provide the rtl subcommand. @@ -100,6 +100,6 @@ PassOrder passOrder(GeneralConfiguration configuration) throws IOException { rtlConfig.setProjectName(projectName); rtlConfig.setEmitRVFI(emitRVFI); rtlConfig.setDryRun(dryRun); - return PassOrders.rtl(rtlConfig); + return RtlPassOrders.rtl(rtlConfig); } } diff --git a/vadl-core/build.gradle.kts b/vadl-core/build.gradle.kts new file mode 100644 index 000000000..1d9cbf22b --- /dev/null +++ b/vadl-core/build.gradle.kts @@ -0,0 +1,33 @@ +import java.util.Properties + +plugins { + id("conventions-jvm") +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(libs.guava) + implementation(libs.commons.io) + implementation(libs.commons.lang3) + implementation(libs.commons.text) +} + +val createProperties by tasks.registering { + val outputDir = layout.buildDirectory.dir("generated/resources") + val versionFile = outputDir.map { it.file("open-vadl.properties") } + + outputs.file(versionFile) + doLast { + val properties = Properties() + properties["version"] = rootProject.version.toString() + versionFile.get().asFile.apply { + parentFile.mkdirs() + outputStream().use { properties.store(it, null) } + } + } +} + +tasks.processResources { + from(createProperties) +} diff --git a/vadl/main/vadl/OpenVadlProperties.java b/vadl-core/main/vadl/OpenVadlProperties.java similarity index 100% rename from vadl/main/vadl/OpenVadlProperties.java rename to vadl-core/main/vadl/OpenVadlProperties.java diff --git a/vadl/main/vadl/error/DeferredDiagnosticStore.java b/vadl-core/main/vadl/error/DeferredDiagnosticStore.java similarity index 100% rename from vadl/main/vadl/error/DeferredDiagnosticStore.java rename to vadl-core/main/vadl/error/DeferredDiagnosticStore.java diff --git a/vadl/main/vadl/error/DiagUtils.java b/vadl-core/main/vadl/error/DiagUtils.java similarity index 100% rename from vadl/main/vadl/error/DiagUtils.java rename to vadl-core/main/vadl/error/DiagUtils.java diff --git a/vadl/main/vadl/error/Diagnostic.java b/vadl-core/main/vadl/error/Diagnostic.java similarity index 100% rename from vadl/main/vadl/error/Diagnostic.java rename to vadl-core/main/vadl/error/Diagnostic.java diff --git a/vadl/main/vadl/error/DiagnosticBuilder.java b/vadl-core/main/vadl/error/DiagnosticBuilder.java similarity index 100% rename from vadl/main/vadl/error/DiagnosticBuilder.java rename to vadl-core/main/vadl/error/DiagnosticBuilder.java diff --git a/vadl/main/vadl/error/DiagnosticList.java b/vadl-core/main/vadl/error/DiagnosticList.java similarity index 100% rename from vadl/main/vadl/error/DiagnosticList.java rename to vadl-core/main/vadl/error/DiagnosticList.java diff --git a/vadl/main/vadl/error/DiagnosticPrinter.java b/vadl-core/main/vadl/error/DiagnosticPrinter.java similarity index 100% rename from vadl/main/vadl/error/DiagnosticPrinter.java rename to vadl-core/main/vadl/error/DiagnosticPrinter.java diff --git a/vadl/main/vadl/error/VadlError.java b/vadl-core/main/vadl/error/VadlError.java similarity index 100% rename from vadl/main/vadl/error/VadlError.java rename to vadl-core/main/vadl/error/VadlError.java diff --git a/vadl/main/vadl/types/AlternativeType.java b/vadl-core/main/vadl/types/AlternativeType.java similarity index 100% rename from vadl/main/vadl/types/AlternativeType.java rename to vadl-core/main/vadl/types/AlternativeType.java diff --git a/vadl/main/vadl/types/BitSliceType.java b/vadl-core/main/vadl/types/BitSliceType.java similarity index 100% rename from vadl/main/vadl/types/BitSliceType.java rename to vadl-core/main/vadl/types/BitSliceType.java diff --git a/vadl/main/vadl/types/BitsType.java b/vadl-core/main/vadl/types/BitsType.java similarity index 100% rename from vadl/main/vadl/types/BitsType.java rename to vadl-core/main/vadl/types/BitsType.java diff --git a/vadl/main/vadl/types/BoolType.java b/vadl-core/main/vadl/types/BoolType.java similarity index 100% rename from vadl/main/vadl/types/BoolType.java rename to vadl-core/main/vadl/types/BoolType.java diff --git a/vadl/main/vadl/types/BuiltInTable.java b/vadl-core/main/vadl/types/BuiltInTable.java similarity index 99% rename from vadl/main/vadl/types/BuiltInTable.java rename to vadl-core/main/vadl/types/BuiltInTable.java index 39bce43d4..8944200b1 100644 --- a/vadl/main/vadl/types/BuiltInTable.java +++ b/vadl-core/main/vadl/types/BuiltInTable.java @@ -35,7 +35,6 @@ import javax.annotation.Nullable; import org.jetbrains.annotations.Contract; import org.slf4j.Logger; -import vadl.ast.AsmGrammarDefaultRules; import vadl.utils.functionInterfaces.TriFunction; import vadl.viam.Constant; import vadl.viam.ViamError; @@ -1142,7 +1141,6 @@ public class BuiltInTable { /** * Checks if the token kind at lookahead {@code n} in the AsmParser * is any of the kinds passed as strings in {@code s}. - * To see all possible token kinds refer to the terminal rules in {@link AsmGrammarDefaultRules}. * *

{@code function LaKindIn(n: UInt,s: String...) -> Bool} */ diff --git a/vadl/main/vadl/types/ConcreteRelationType.java b/vadl-core/main/vadl/types/ConcreteRelationType.java similarity index 100% rename from vadl/main/vadl/types/ConcreteRelationType.java rename to vadl-core/main/vadl/types/ConcreteRelationType.java diff --git a/vadl/main/vadl/types/DataType.java b/vadl-core/main/vadl/types/DataType.java similarity index 100% rename from vadl/main/vadl/types/DataType.java rename to vadl-core/main/vadl/types/DataType.java diff --git a/vadl/main/vadl/types/DummyType.java b/vadl-core/main/vadl/types/DummyType.java similarity index 100% rename from vadl/main/vadl/types/DummyType.java rename to vadl-core/main/vadl/types/DummyType.java diff --git a/vadl/main/vadl/types/FetchResultType.java b/vadl-core/main/vadl/types/FetchResultType.java similarity index 100% rename from vadl/main/vadl/types/FetchResultType.java rename to vadl-core/main/vadl/types/FetchResultType.java diff --git a/vadl/main/vadl/types/InstructionType.java b/vadl-core/main/vadl/types/InstructionType.java similarity index 100% rename from vadl/main/vadl/types/InstructionType.java rename to vadl-core/main/vadl/types/InstructionType.java diff --git a/vadl/main/vadl/types/MicroArchitectureType.java b/vadl-core/main/vadl/types/MicroArchitectureType.java similarity index 100% rename from vadl/main/vadl/types/MicroArchitectureType.java rename to vadl-core/main/vadl/types/MicroArchitectureType.java diff --git a/vadl/main/vadl/types/RelationType.java b/vadl-core/main/vadl/types/RelationType.java similarity index 100% rename from vadl/main/vadl/types/RelationType.java rename to vadl-core/main/vadl/types/RelationType.java diff --git a/vadl/main/vadl/types/SIntType.java b/vadl-core/main/vadl/types/SIntType.java similarity index 100% rename from vadl/main/vadl/types/SIntType.java rename to vadl-core/main/vadl/types/SIntType.java diff --git a/vadl/main/vadl/types/StatusType.java b/vadl-core/main/vadl/types/StatusType.java similarity index 100% rename from vadl/main/vadl/types/StatusType.java rename to vadl-core/main/vadl/types/StatusType.java diff --git a/vadl/main/vadl/types/StringType.java b/vadl-core/main/vadl/types/StringType.java similarity index 100% rename from vadl/main/vadl/types/StringType.java rename to vadl-core/main/vadl/types/StringType.java diff --git a/vadl/main/vadl/types/TupleType.java b/vadl-core/main/vadl/types/TupleType.java similarity index 100% rename from vadl/main/vadl/types/TupleType.java rename to vadl-core/main/vadl/types/TupleType.java diff --git a/vadl/main/vadl/types/Type.java b/vadl-core/main/vadl/types/Type.java similarity index 100% rename from vadl/main/vadl/types/Type.java rename to vadl-core/main/vadl/types/Type.java diff --git a/vadl/main/vadl/types/TypeList.java b/vadl-core/main/vadl/types/TypeList.java similarity index 100% rename from vadl/main/vadl/types/TypeList.java rename to vadl-core/main/vadl/types/TypeList.java diff --git a/vadl/main/vadl/types/UIntType.java b/vadl-core/main/vadl/types/UIntType.java similarity index 100% rename from vadl/main/vadl/types/UIntType.java rename to vadl-core/main/vadl/types/UIntType.java diff --git a/vadl/main/vadl/types/VoidType.java b/vadl-core/main/vadl/types/VoidType.java similarity index 100% rename from vadl/main/vadl/types/VoidType.java rename to vadl-core/main/vadl/types/VoidType.java diff --git a/vadl/main/vadl/types/asmTypes/AsmType.java b/vadl-core/main/vadl/types/asmTypes/AsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/AsmType.java rename to vadl-core/main/vadl/types/asmTypes/AsmType.java diff --git a/vadl/main/vadl/types/asmTypes/ConstantAsmType.java b/vadl-core/main/vadl/types/asmTypes/ConstantAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/ConstantAsmType.java rename to vadl-core/main/vadl/types/asmTypes/ConstantAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/ExpressionAsmType.java b/vadl-core/main/vadl/types/asmTypes/ExpressionAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/ExpressionAsmType.java rename to vadl-core/main/vadl/types/asmTypes/ExpressionAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/GroupAsmType.java b/vadl-core/main/vadl/types/asmTypes/GroupAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/GroupAsmType.java rename to vadl-core/main/vadl/types/asmTypes/GroupAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/InstructionAsmType.java b/vadl-core/main/vadl/types/asmTypes/InstructionAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/InstructionAsmType.java rename to vadl-core/main/vadl/types/asmTypes/InstructionAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/ModifierAsmType.java b/vadl-core/main/vadl/types/asmTypes/ModifierAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/ModifierAsmType.java rename to vadl-core/main/vadl/types/asmTypes/ModifierAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/OperandAsmType.java b/vadl-core/main/vadl/types/asmTypes/OperandAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/OperandAsmType.java rename to vadl-core/main/vadl/types/asmTypes/OperandAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/OperandsAsmType.java b/vadl-core/main/vadl/types/asmTypes/OperandsAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/OperandsAsmType.java rename to vadl-core/main/vadl/types/asmTypes/OperandsAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/RegisterAsmType.java b/vadl-core/main/vadl/types/asmTypes/RegisterAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/RegisterAsmType.java rename to vadl-core/main/vadl/types/asmTypes/RegisterAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/StatementsAsmType.java b/vadl-core/main/vadl/types/asmTypes/StatementsAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/StatementsAsmType.java rename to vadl-core/main/vadl/types/asmTypes/StatementsAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/StringAsmType.java b/vadl-core/main/vadl/types/asmTypes/StringAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/StringAsmType.java rename to vadl-core/main/vadl/types/asmTypes/StringAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/SymbolAsmType.java b/vadl-core/main/vadl/types/asmTypes/SymbolAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/SymbolAsmType.java rename to vadl-core/main/vadl/types/asmTypes/SymbolAsmType.java diff --git a/vadl/main/vadl/types/asmTypes/VoidAsmType.java b/vadl-core/main/vadl/types/asmTypes/VoidAsmType.java similarity index 100% rename from vadl/main/vadl/types/asmTypes/VoidAsmType.java rename to vadl-core/main/vadl/types/asmTypes/VoidAsmType.java diff --git a/vadl/main/vadl/utils/BigIntUtils.java b/vadl-core/main/vadl/utils/BigIntUtils.java similarity index 100% rename from vadl/main/vadl/utils/BigIntUtils.java rename to vadl-core/main/vadl/utils/BigIntUtils.java diff --git a/vadl/main/vadl/utils/DiskVirtualFileSystem.java b/vadl-core/main/vadl/utils/DiskVirtualFileSystem.java similarity index 100% rename from vadl/main/vadl/utils/DiskVirtualFileSystem.java rename to vadl-core/main/vadl/utils/DiskVirtualFileSystem.java diff --git a/vadl/main/vadl/utils/EditorUtils.java b/vadl-core/main/vadl/utils/EditorUtils.java similarity index 100% rename from vadl/main/vadl/utils/EditorUtils.java rename to vadl-core/main/vadl/utils/EditorUtils.java diff --git a/vadl/main/vadl/utils/Either.java b/vadl-core/main/vadl/utils/Either.java similarity index 100% rename from vadl/main/vadl/utils/Either.java rename to vadl-core/main/vadl/utils/Either.java diff --git a/vadl/main/vadl/utils/EmptyVirtualFileSystem.java b/vadl-core/main/vadl/utils/EmptyVirtualFileSystem.java similarity index 100% rename from vadl/main/vadl/utils/EmptyVirtualFileSystem.java rename to vadl-core/main/vadl/utils/EmptyVirtualFileSystem.java diff --git a/vadl/main/vadl/utils/GraphUtils.java b/vadl-core/main/vadl/utils/GraphUtils.java similarity index 100% rename from vadl/main/vadl/utils/GraphUtils.java rename to vadl-core/main/vadl/utils/GraphUtils.java diff --git a/vadl/main/vadl/utils/Levenshtein.java b/vadl-core/main/vadl/utils/Levenshtein.java similarity index 100% rename from vadl/main/vadl/utils/Levenshtein.java rename to vadl-core/main/vadl/utils/Levenshtein.java diff --git a/vadl/main/vadl/utils/MemOrderUtils.java b/vadl-core/main/vadl/utils/MemOrderUtils.java similarity index 100% rename from vadl/main/vadl/utils/MemOrderUtils.java rename to vadl-core/main/vadl/utils/MemOrderUtils.java diff --git a/vadl/main/vadl/utils/NPair.java b/vadl-core/main/vadl/utils/NPair.java similarity index 100% rename from vadl/main/vadl/utils/NPair.java rename to vadl-core/main/vadl/utils/NPair.java diff --git a/vadl/main/vadl/utils/Pair.java b/vadl-core/main/vadl/utils/Pair.java similarity index 100% rename from vadl/main/vadl/utils/Pair.java rename to vadl-core/main/vadl/utils/Pair.java diff --git a/vadl/main/vadl/utils/Quadruple.java b/vadl-core/main/vadl/utils/Quadruple.java similarity index 100% rename from vadl/main/vadl/utils/Quadruple.java rename to vadl-core/main/vadl/utils/Quadruple.java diff --git a/vadl/main/vadl/utils/SingleFileVirtualFileSystem.java b/vadl-core/main/vadl/utils/SingleFileVirtualFileSystem.java similarity index 100% rename from vadl/main/vadl/utils/SingleFileVirtualFileSystem.java rename to vadl-core/main/vadl/utils/SingleFileVirtualFileSystem.java diff --git a/vadl/main/vadl/utils/SourceLocation.java b/vadl-core/main/vadl/utils/SourceLocation.java similarity index 100% rename from vadl/main/vadl/utils/SourceLocation.java rename to vadl-core/main/vadl/utils/SourceLocation.java diff --git a/vadl/main/vadl/utils/StreamUtils.java b/vadl-core/main/vadl/utils/StreamUtils.java similarity index 100% rename from vadl/main/vadl/utils/StreamUtils.java rename to vadl-core/main/vadl/utils/StreamUtils.java diff --git a/vadl/main/vadl/utils/StringBuilderUtils.java b/vadl-core/main/vadl/utils/StringBuilderUtils.java similarity index 100% rename from vadl/main/vadl/utils/StringBuilderUtils.java rename to vadl-core/main/vadl/utils/StringBuilderUtils.java diff --git a/vadl/main/vadl/utils/Triple.java b/vadl-core/main/vadl/utils/Triple.java similarity index 100% rename from vadl/main/vadl/utils/Triple.java rename to vadl-core/main/vadl/utils/Triple.java diff --git a/vadl/main/vadl/utils/VadlBuiltInDispatcher.java b/vadl-core/main/vadl/utils/VadlBuiltInDispatcher.java similarity index 100% rename from vadl/main/vadl/utils/VadlBuiltInDispatcher.java rename to vadl-core/main/vadl/utils/VadlBuiltInDispatcher.java diff --git a/vadl/main/vadl/utils/VadlBuiltInEmptyNoStatusDispatcher.java b/vadl-core/main/vadl/utils/VadlBuiltInEmptyNoStatusDispatcher.java similarity index 100% rename from vadl/main/vadl/utils/VadlBuiltInEmptyNoStatusDispatcher.java rename to vadl-core/main/vadl/utils/VadlBuiltInEmptyNoStatusDispatcher.java diff --git a/vadl/main/vadl/utils/VadlBuiltInNoStatusDispatcher.java b/vadl-core/main/vadl/utils/VadlBuiltInNoStatusDispatcher.java similarity index 100% rename from vadl/main/vadl/utils/VadlBuiltInNoStatusDispatcher.java rename to vadl-core/main/vadl/utils/VadlBuiltInNoStatusDispatcher.java diff --git a/vadl/main/vadl/utils/VadlBuiltInStatusOnlyDispatcher.java b/vadl-core/main/vadl/utils/VadlBuiltInStatusOnlyDispatcher.java similarity index 100% rename from vadl/main/vadl/utils/VadlBuiltInStatusOnlyDispatcher.java rename to vadl-core/main/vadl/utils/VadlBuiltInStatusOnlyDispatcher.java diff --git a/vadl/main/vadl/utils/ViamUtils.java b/vadl-core/main/vadl/utils/ViamUtils.java similarity index 100% rename from vadl/main/vadl/utils/ViamUtils.java rename to vadl-core/main/vadl/utils/ViamUtils.java diff --git a/vadl/main/vadl/utils/VirtualFileSystem.java b/vadl-core/main/vadl/utils/VirtualFileSystem.java similarity index 100% rename from vadl/main/vadl/utils/VirtualFileSystem.java rename to vadl-core/main/vadl/utils/VirtualFileSystem.java diff --git a/vadl/main/vadl/utils/WithLocation.java b/vadl-core/main/vadl/utils/WithLocation.java similarity index 100% rename from vadl/main/vadl/utils/WithLocation.java rename to vadl-core/main/vadl/utils/WithLocation.java diff --git a/vadl/main/vadl/utils/codegen/CCodeBuilder.java b/vadl-core/main/vadl/utils/codegen/CCodeBuilder.java similarity index 100% rename from vadl/main/vadl/utils/codegen/CCodeBuilder.java rename to vadl-core/main/vadl/utils/codegen/CCodeBuilder.java diff --git a/vadl/main/vadl/utils/codegen/CStringBuilder.java b/vadl-core/main/vadl/utils/codegen/CStringBuilder.java similarity index 100% rename from vadl/main/vadl/utils/codegen/CStringBuilder.java rename to vadl-core/main/vadl/utils/codegen/CStringBuilder.java diff --git a/vadl/main/vadl/utils/codegen/CodeGeneratorAppendable.java b/vadl-core/main/vadl/utils/codegen/CodeGeneratorAppendable.java similarity index 100% rename from vadl/main/vadl/utils/codegen/CodeGeneratorAppendable.java rename to vadl-core/main/vadl/utils/codegen/CodeGeneratorAppendable.java diff --git a/vadl/main/vadl/utils/codegen/StringBuilderAppendable.java b/vadl-core/main/vadl/utils/codegen/StringBuilderAppendable.java similarity index 100% rename from vadl/main/vadl/utils/codegen/StringBuilderAppendable.java rename to vadl-core/main/vadl/utils/codegen/StringBuilderAppendable.java diff --git a/vadl/main/vadl/utils/functionInterfaces/TriConsumer.java b/vadl-core/main/vadl/utils/functionInterfaces/TriConsumer.java similarity index 100% rename from vadl/main/vadl/utils/functionInterfaces/TriConsumer.java rename to vadl-core/main/vadl/utils/functionInterfaces/TriConsumer.java diff --git a/vadl/main/vadl/utils/functionInterfaces/TriFunction.java b/vadl-core/main/vadl/utils/functionInterfaces/TriFunction.java similarity index 100% rename from vadl/main/vadl/utils/functionInterfaces/TriFunction.java rename to vadl-core/main/vadl/utils/functionInterfaces/TriFunction.java diff --git a/vadl/main/vadl/viam/Abi.java b/vadl-core/main/vadl/viam/Abi.java similarity index 100% rename from vadl/main/vadl/viam/Abi.java rename to vadl-core/main/vadl/viam/Abi.java diff --git a/vadl/main/vadl/viam/Annotation.java b/vadl-core/main/vadl/viam/Annotation.java similarity index 100% rename from vadl/main/vadl/viam/Annotation.java rename to vadl-core/main/vadl/viam/Annotation.java diff --git a/vadl/main/vadl/viam/ArtificialResource.java b/vadl-core/main/vadl/viam/ArtificialResource.java similarity index 100% rename from vadl/main/vadl/viam/ArtificialResource.java rename to vadl-core/main/vadl/viam/ArtificialResource.java diff --git a/vadl/main/vadl/viam/Assembly.java b/vadl-core/main/vadl/viam/Assembly.java similarity index 100% rename from vadl/main/vadl/viam/Assembly.java rename to vadl-core/main/vadl/viam/Assembly.java diff --git a/vadl/main/vadl/viam/AssemblyDescription.java b/vadl-core/main/vadl/viam/AssemblyDescription.java similarity index 100% rename from vadl/main/vadl/viam/AssemblyDescription.java rename to vadl-core/main/vadl/viam/AssemblyDescription.java diff --git a/vadl/main/vadl/viam/CompilerInstruction.java b/vadl-core/main/vadl/viam/CompilerInstruction.java similarity index 100% rename from vadl/main/vadl/viam/CompilerInstruction.java rename to vadl-core/main/vadl/viam/CompilerInstruction.java diff --git a/vadl/main/vadl/viam/Constant.java b/vadl-core/main/vadl/viam/Constant.java similarity index 100% rename from vadl/main/vadl/viam/Constant.java rename to vadl-core/main/vadl/viam/Constant.java diff --git a/vadl/main/vadl/viam/Counter.java b/vadl-core/main/vadl/viam/Counter.java similarity index 100% rename from vadl/main/vadl/viam/Counter.java rename to vadl-core/main/vadl/viam/Counter.java diff --git a/vadl/main/vadl/viam/DefProp.java b/vadl-core/main/vadl/viam/DefProp.java similarity index 100% rename from vadl/main/vadl/viam/DefProp.java rename to vadl-core/main/vadl/viam/DefProp.java diff --git a/vadl/main/vadl/viam/Definition.java b/vadl-core/main/vadl/viam/Definition.java similarity index 100% rename from vadl/main/vadl/viam/Definition.java rename to vadl-core/main/vadl/viam/Definition.java diff --git a/vadl/main/vadl/viam/DefinitionExtension.java b/vadl-core/main/vadl/viam/DefinitionExtension.java similarity index 100% rename from vadl/main/vadl/viam/DefinitionExtension.java rename to vadl-core/main/vadl/viam/DefinitionExtension.java diff --git a/vadl/main/vadl/viam/DefinitionVisitor.java b/vadl-core/main/vadl/viam/DefinitionVisitor.java similarity index 100% rename from vadl/main/vadl/viam/DefinitionVisitor.java rename to vadl-core/main/vadl/viam/DefinitionVisitor.java diff --git a/vadl/main/vadl/viam/Encoding.java b/vadl-core/main/vadl/viam/Encoding.java similarity index 100% rename from vadl/main/vadl/viam/Encoding.java rename to vadl-core/main/vadl/viam/Encoding.java diff --git a/vadl/main/vadl/viam/ExceptionDef.java b/vadl-core/main/vadl/viam/ExceptionDef.java similarity index 100% rename from vadl/main/vadl/viam/ExceptionDef.java rename to vadl-core/main/vadl/viam/ExceptionDef.java diff --git a/vadl/main/vadl/viam/Format.java b/vadl-core/main/vadl/viam/Format.java similarity index 100% rename from vadl/main/vadl/viam/Format.java rename to vadl-core/main/vadl/viam/Format.java diff --git a/vadl/main/vadl/viam/Function.java b/vadl-core/main/vadl/viam/Function.java similarity index 100% rename from vadl/main/vadl/viam/Function.java rename to vadl-core/main/vadl/viam/Function.java diff --git a/vadl/main/vadl/viam/GeneratesRegisterFileName.java b/vadl-core/main/vadl/viam/GeneratesRegisterFileName.java similarity index 100% rename from vadl/main/vadl/viam/GeneratesRegisterFileName.java rename to vadl-core/main/vadl/viam/GeneratesRegisterFileName.java diff --git a/vadl/main/vadl/viam/Identifier.java b/vadl-core/main/vadl/viam/Identifier.java similarity index 100% rename from vadl/main/vadl/viam/Identifier.java rename to vadl-core/main/vadl/viam/Identifier.java diff --git a/vadl/main/vadl/viam/Instruction.java b/vadl-core/main/vadl/viam/Instruction.java similarity index 100% rename from vadl/main/vadl/viam/Instruction.java rename to vadl-core/main/vadl/viam/Instruction.java diff --git a/vadl/main/vadl/viam/InstructionSetArchitecture.java b/vadl-core/main/vadl/viam/InstructionSetArchitecture.java similarity index 100% rename from vadl/main/vadl/viam/InstructionSetArchitecture.java rename to vadl-core/main/vadl/viam/InstructionSetArchitecture.java diff --git a/vadl-core/main/vadl/viam/InstructionWordOrderExtension.java b/vadl-core/main/vadl/viam/InstructionWordOrderExtension.java new file mode 100644 index 000000000..3cd2eb823 --- /dev/null +++ b/vadl-core/main/vadl/viam/InstructionWordOrderExtension.java @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText : © 2025-2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.viam; + +import java.nio.ByteOrder; + +/** + * Stores the byte order used to interpret an instruction word. + */ +public class InstructionWordOrderExtension extends DefinitionExtension { + + private final ByteOrder byteOrder; + + public InstructionWordOrderExtension(ByteOrder byteOrder) { + this.byteOrder = byteOrder; + } + + public ByteOrder byteOrder() { + return byteOrder; + } + + @Override + public Class extendsDefClass() { + return InstructionSetArchitecture.class; + } +} diff --git a/vadl/main/vadl/viam/Logic.java b/vadl-core/main/vadl/viam/Logic.java similarity index 100% rename from vadl/main/vadl/viam/Logic.java rename to vadl-core/main/vadl/viam/Logic.java diff --git a/vadl/main/vadl/viam/Memory.java b/vadl-core/main/vadl/viam/Memory.java similarity index 100% rename from vadl/main/vadl/viam/Memory.java rename to vadl-core/main/vadl/viam/Memory.java diff --git a/vadl/main/vadl/viam/MemoryRegion.java b/vadl-core/main/vadl/viam/MemoryRegion.java similarity index 100% rename from vadl/main/vadl/viam/MemoryRegion.java rename to vadl-core/main/vadl/viam/MemoryRegion.java diff --git a/vadl/main/vadl/viam/MicroArchitecture.java b/vadl-core/main/vadl/viam/MicroArchitecture.java similarity index 100% rename from vadl/main/vadl/viam/MicroArchitecture.java rename to vadl-core/main/vadl/viam/MicroArchitecture.java diff --git a/vadl/main/vadl/viam/Parameter.java b/vadl-core/main/vadl/viam/Parameter.java similarity index 100% rename from vadl/main/vadl/viam/Parameter.java rename to vadl-core/main/vadl/viam/Parameter.java diff --git a/vadl/main/vadl/viam/PrintableInstruction.java b/vadl-core/main/vadl/viam/PrintableInstruction.java similarity index 100% rename from vadl/main/vadl/viam/PrintableInstruction.java rename to vadl-core/main/vadl/viam/PrintableInstruction.java diff --git a/vadl/main/vadl/viam/Procedure.java b/vadl-core/main/vadl/viam/Procedure.java similarity index 100% rename from vadl/main/vadl/viam/Procedure.java rename to vadl-core/main/vadl/viam/Procedure.java diff --git a/vadl/main/vadl/viam/Processor.java b/vadl-core/main/vadl/viam/Processor.java similarity index 100% rename from vadl/main/vadl/viam/Processor.java rename to vadl-core/main/vadl/viam/Processor.java diff --git a/vadl/main/vadl/viam/PseudoInstruction.java b/vadl-core/main/vadl/viam/PseudoInstruction.java similarity index 100% rename from vadl/main/vadl/viam/PseudoInstruction.java rename to vadl-core/main/vadl/viam/PseudoInstruction.java diff --git a/vadl/main/vadl/viam/RegisterResource.java b/vadl-core/main/vadl/viam/RegisterResource.java similarity index 100% rename from vadl/main/vadl/viam/RegisterResource.java rename to vadl-core/main/vadl/viam/RegisterResource.java diff --git a/vadl/main/vadl/viam/RegisterTensor.java b/vadl-core/main/vadl/viam/RegisterTensor.java similarity index 100% rename from vadl/main/vadl/viam/RegisterTensor.java rename to vadl-core/main/vadl/viam/RegisterTensor.java diff --git a/vadl/main/vadl/viam/Relocation.java b/vadl-core/main/vadl/viam/Relocation.java similarity index 100% rename from vadl/main/vadl/viam/Relocation.java rename to vadl-core/main/vadl/viam/Relocation.java diff --git a/vadl/main/vadl/viam/Resource.java b/vadl-core/main/vadl/viam/Resource.java similarity index 100% rename from vadl/main/vadl/viam/Resource.java rename to vadl-core/main/vadl/viam/Resource.java diff --git a/vadl/main/vadl/viam/Signal.java b/vadl-core/main/vadl/viam/Signal.java similarity index 100% rename from vadl/main/vadl/viam/Signal.java rename to vadl-core/main/vadl/viam/Signal.java diff --git a/vadl/main/vadl/viam/Specification.java b/vadl-core/main/vadl/viam/Specification.java similarity index 100% rename from vadl/main/vadl/viam/Specification.java rename to vadl-core/main/vadl/viam/Specification.java diff --git a/vadl/main/vadl/viam/Stage.java b/vadl-core/main/vadl/viam/Stage.java similarity index 100% rename from vadl/main/vadl/viam/Stage.java rename to vadl-core/main/vadl/viam/Stage.java diff --git a/vadl/main/vadl/viam/StageOutput.java b/vadl-core/main/vadl/viam/StageOutput.java similarity index 100% rename from vadl/main/vadl/viam/StageOutput.java rename to vadl-core/main/vadl/viam/StageOutput.java diff --git a/vadl/main/vadl/viam/ViamError.java b/vadl-core/main/vadl/viam/ViamError.java similarity index 100% rename from vadl/main/vadl/viam/ViamError.java rename to vadl-core/main/vadl/viam/ViamError.java diff --git a/vadl/main/vadl/viam/annotations/AlignmentAnnotation.java b/vadl-core/main/vadl/viam/annotations/AlignmentAnnotation.java similarity index 100% rename from vadl/main/vadl/viam/annotations/AlignmentAnnotation.java rename to vadl-core/main/vadl/viam/annotations/AlignmentAnnotation.java diff --git a/vadl/main/vadl/viam/annotations/AsmEncodeAnno.java b/vadl-core/main/vadl/viam/annotations/AsmEncodeAnno.java similarity index 100% rename from vadl/main/vadl/viam/annotations/AsmEncodeAnno.java rename to vadl-core/main/vadl/viam/annotations/AsmEncodeAnno.java diff --git a/vadl/main/vadl/viam/annotations/AsmGenerateRulesAnno.java b/vadl-core/main/vadl/viam/annotations/AsmGenerateRulesAnno.java similarity index 100% rename from vadl/main/vadl/viam/annotations/AsmGenerateRulesAnno.java rename to vadl-core/main/vadl/viam/annotations/AsmGenerateRulesAnno.java diff --git a/vadl/main/vadl/viam/annotations/AsmParserCaseSensitive.java b/vadl-core/main/vadl/viam/annotations/AsmParserCaseSensitive.java similarity index 100% rename from vadl/main/vadl/viam/annotations/AsmParserCaseSensitive.java rename to vadl-core/main/vadl/viam/annotations/AsmParserCaseSensitive.java diff --git a/vadl/main/vadl/viam/annotations/AsmParserCommentString.java b/vadl-core/main/vadl/viam/annotations/AsmParserCommentString.java similarity index 100% rename from vadl/main/vadl/viam/annotations/AsmParserCommentString.java rename to vadl-core/main/vadl/viam/annotations/AsmParserCommentString.java diff --git a/vadl/main/vadl/viam/annotations/BigEndianAnnotation.java b/vadl-core/main/vadl/viam/annotations/BigEndianAnnotation.java similarity index 100% rename from vadl/main/vadl/viam/annotations/BigEndianAnnotation.java rename to vadl-core/main/vadl/viam/annotations/BigEndianAnnotation.java diff --git a/vadl/main/vadl/viam/annotations/DefineOperandAnnotation.java b/vadl-core/main/vadl/viam/annotations/DefineOperandAnnotation.java similarity index 100% rename from vadl/main/vadl/viam/annotations/DefineOperandAnnotation.java rename to vadl-core/main/vadl/viam/annotations/DefineOperandAnnotation.java diff --git a/vadl/main/vadl/viam/annotations/EnableHtifAnno.java b/vadl-core/main/vadl/viam/annotations/EnableHtifAnno.java similarity index 100% rename from vadl/main/vadl/viam/annotations/EnableHtifAnno.java rename to vadl-core/main/vadl/viam/annotations/EnableHtifAnno.java diff --git a/vadl/main/vadl/viam/annotations/FieldAccessAnnotation.java b/vadl-core/main/vadl/viam/annotations/FieldAccessAnnotation.java similarity index 100% rename from vadl/main/vadl/viam/annotations/FieldAccessAnnotation.java rename to vadl-core/main/vadl/viam/annotations/FieldAccessAnnotation.java diff --git a/vadl/main/vadl/viam/annotations/InstructionUndefinedAnno.java b/vadl-core/main/vadl/viam/annotations/InstructionUndefinedAnno.java similarity index 100% rename from vadl/main/vadl/viam/annotations/InstructionUndefinedAnno.java rename to vadl-core/main/vadl/viam/annotations/InstructionUndefinedAnno.java diff --git a/vadl/main/vadl/gcb/annotations/OnlyNegativeNumbersAnnotation.java b/vadl-core/main/vadl/viam/annotations/OnlyNegativeNumbersAnnotation.java similarity index 76% rename from vadl/main/vadl/gcb/annotations/OnlyNegativeNumbersAnnotation.java rename to vadl-core/main/vadl/viam/annotations/OnlyNegativeNumbersAnnotation.java index ba7aaec92..ae3368b28 100644 --- a/vadl/main/vadl/gcb/annotations/OnlyNegativeNumbersAnnotation.java +++ b/vadl-core/main/vadl/viam/annotations/OnlyNegativeNumbersAnnotation.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -14,16 +14,13 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.gcb.annotations; +package vadl.viam.annotations; -import vadl.gcb.passes.InstructionPatternPruningPass; import vadl.viam.Annotation; import vadl.viam.CompilerInstruction; -import vadl.viam.Instruction; /** - * This annotation defines that an {@link Instruction} should not be pruned in - * {@link InstructionPatternPruningPass}. + * This annotation marks compiler instructions that only support negative numbers. */ public class OnlyNegativeNumbersAnnotation extends Annotation { @Override diff --git a/vadl/main/vadl/gcb/annotations/RelocationSyntaxAnnotation.java b/vadl-core/main/vadl/viam/annotations/RelocationSyntaxAnnotation.java similarity index 92% rename from vadl/main/vadl/gcb/annotations/RelocationSyntaxAnnotation.java rename to vadl-core/main/vadl/viam/annotations/RelocationSyntaxAnnotation.java index 5b6211f4d..3f32ba872 100644 --- a/vadl/main/vadl/gcb/annotations/RelocationSyntaxAnnotation.java +++ b/vadl-core/main/vadl/viam/annotations/RelocationSyntaxAnnotation.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.gcb.annotations; +package vadl.viam.annotations; import vadl.viam.Annotation; import vadl.viam.Relocation; diff --git a/vadl/main/vadl/gcb/annotations/SkipPruningAnnotation.java b/vadl-core/main/vadl/viam/annotations/SkipPruningAnnotation.java similarity index 77% rename from vadl/main/vadl/gcb/annotations/SkipPruningAnnotation.java rename to vadl-core/main/vadl/viam/annotations/SkipPruningAnnotation.java index c2362dada..7312c3f1d 100644 --- a/vadl/main/vadl/gcb/annotations/SkipPruningAnnotation.java +++ b/vadl-core/main/vadl/viam/annotations/SkipPruningAnnotation.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -14,15 +14,13 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.gcb.annotations; +package vadl.viam.annotations; -import vadl.gcb.passes.InstructionPatternPruningPass; import vadl.viam.Annotation; import vadl.viam.Instruction; /** - * This annotation defines that an {@link Instruction} should not be pruned in - * {@link InstructionPatternPruningPass}. + * This annotation marks instructions that should be retained during pruning. */ public class SkipPruningAnnotation extends Annotation { @Override diff --git a/vadl/main/vadl/gcb/annotations/StatusRegisterAnnotation.java b/vadl-core/main/vadl/viam/annotations/StatusRegisterAnnotation.java similarity index 94% rename from vadl/main/vadl/gcb/annotations/StatusRegisterAnnotation.java rename to vadl-core/main/vadl/viam/annotations/StatusRegisterAnnotation.java index 2cec56b1a..89966bfd7 100644 --- a/vadl/main/vadl/gcb/annotations/StatusRegisterAnnotation.java +++ b/vadl-core/main/vadl/viam/annotations/StatusRegisterAnnotation.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.gcb.annotations; +package vadl.viam.annotations; import vadl.viam.RegisterTensor; @@ -52,4 +52,4 @@ public static class CarryStatusRegisterAnnotation extends StatusRegisterAnnotati */ public static class OverflowStatusRegisterAnnotation extends StatusRegisterAnnotation { } -} \ No newline at end of file +} diff --git a/vadl/main/vadl/viam/asm/AsmDirectiveMapping.java b/vadl-core/main/vadl/viam/asm/AsmDirectiveMapping.java similarity index 100% rename from vadl/main/vadl/viam/asm/AsmDirectiveMapping.java rename to vadl-core/main/vadl/viam/asm/AsmDirectiveMapping.java diff --git a/vadl/main/vadl/viam/asm/AsmModifier.java b/vadl-core/main/vadl/viam/asm/AsmModifier.java similarity index 100% rename from vadl/main/vadl/viam/asm/AsmModifier.java rename to vadl-core/main/vadl/viam/asm/AsmModifier.java diff --git a/vadl-core/main/vadl/viam/asm/AsmTerminalRules.java b/vadl-core/main/vadl/viam/asm/AsmTerminalRules.java new file mode 100644 index 000000000..3884705e4 --- /dev/null +++ b/vadl-core/main/vadl/viam/asm/AsmTerminalRules.java @@ -0,0 +1,94 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.viam.asm; + +import java.util.List; +import java.util.regex.Pattern; +import javax.annotation.Nullable; + +/** + * Terminal token rules shared between frontend asm grammar defaults and VIAM asm parsing. + */ +public final class AsmTerminalRules { + private AsmTerminalRules() { + } + + private record TerminalRule(String name, Pattern pattern) { + } + + private static final List DEFAULT_TERMINALS = List.of( + terminal("IDENTIFIER", "[a-zA-Z_.][a-zA-Z0-9_$.@]*", false), + terminal("STRING", "\\\".*\\\"", false), + terminal("INTEGER", "0b[01]+|0[0-7]+|[1-9][0-9]*|0x[0-9a-fA-F]+", false), + terminal("COLON", ":", false), + terminal("PLUS", "+", true), + terminal("MINUS", "-", false), + terminal("TILDE", "~", false), + terminal("SLASH", "/", false), + terminal("BACKSLASH", "\\\\", true), + terminal("LPAREN", "(", true), + terminal("RPAREN", ")", true), + terminal("LBRAC", "[", true), + terminal("RBRAC", "]", true), + terminal("LCURLY", "{", true), + terminal("RCURLY", "}", true), + terminal("STAR", "*", true), + terminal("DOT", ".", true), + terminal("COMMA", ",", false), + terminal("DOLLAR", "$", true), + terminal("EQUAL", "=", false), + terminal("EQUALEQUAL", "==", false), + terminal("PIPE", "|", true), + terminal("PIPEPIPE", "||", true), + terminal("CARET", "^", true), + terminal("AMP", "&", false), + terminal("AMPAMP", "&&", false), + terminal("EXCLAIM", "!", false), + terminal("EXCLAIMEQUAL", "!=", false), + terminal("PERCENT", "%", false), + terminal("HASH", "#", false), + terminal("LESS", "<", false), + terminal("LESSEQUAL", "<=", false), + terminal("LESSLESS", "<<", false), + terminal("LESSGREATER", "<>", false), + terminal("GREATER", ">", false), + terminal("GREATEREQUAL", ">=", false), + terminal("GREATERGREATER", ">>", false), + terminal("AT", "@", false), + terminal("MINUSGREATER", "->", false), + terminal("EOL", "\\r\\n?|\\n", false) + ); + + private static TerminalRule terminal(String name, String regularExpression, + boolean escapeRegex) { + var pattern = Pattern.compile( + escapeRegex ? Pattern.quote(regularExpression) : regularExpression); + return new TerminalRule(name, pattern); + } + + /** + * Get the name of the terminal rule that matches the given parse value. + */ + public static @Nullable String getMatchingTerminalRule(String parseValue) { + for (var rule : DEFAULT_TERMINALS) { + if (rule.pattern.matcher(parseValue).matches()) { + return rule.name; + } + } + return null; + } +} diff --git a/vadl/main/vadl/viam/asm/AsmToken.java b/vadl-core/main/vadl/viam/asm/AsmToken.java similarity index 92% rename from vadl/main/vadl/viam/asm/AsmToken.java rename to vadl-core/main/vadl/viam/asm/AsmToken.java index 56fde32ea..afcdb2e1a 100644 --- a/vadl/main/vadl/viam/asm/AsmToken.java +++ b/vadl-core/main/vadl/viam/asm/AsmToken.java @@ -18,7 +18,6 @@ import java.util.Objects; import javax.annotation.Nullable; -import vadl.ast.AsmGrammarDefaultRules; /** * Represents a token of the asm parser. @@ -84,7 +83,7 @@ public int hashCode() { } /** - * Searches for the matching terminal rule in {@link AsmGrammarDefaultRules} and builds an + * Searches for the matching terminal rule in {@link AsmTerminalRules} and builds an * AsmToken with the found terminal rule. If no terminal rule is found, return null. * * @param parseValue the value to match the terminal rule regular expression against @@ -92,7 +91,7 @@ public int hashCode() { */ @Nullable public static AsmToken inferTerminalRule(String parseValue) { - var inferredRule = AsmGrammarDefaultRules.getMatchingTerminalRule(parseValue); + var inferredRule = AsmTerminalRules.getMatchingTerminalRule(parseValue); if (inferredRule == null) { return null; } diff --git a/vadl/main/vadl/viam/asm/elements/AsmAlternative.java b/vadl-core/main/vadl/viam/asm/elements/AsmAlternative.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmAlternative.java rename to vadl-core/main/vadl/viam/asm/elements/AsmAlternative.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmAlternatives.java b/vadl-core/main/vadl/viam/asm/elements/AsmAlternatives.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmAlternatives.java rename to vadl-core/main/vadl/viam/asm/elements/AsmAlternatives.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmAssignTo.java b/vadl-core/main/vadl/viam/asm/elements/AsmAssignTo.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmAssignTo.java rename to vadl-core/main/vadl/viam/asm/elements/AsmAssignTo.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmAssignToAttribute.java b/vadl-core/main/vadl/viam/asm/elements/AsmAssignToAttribute.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmAssignToAttribute.java rename to vadl-core/main/vadl/viam/asm/elements/AsmAssignToAttribute.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmAssignToLocalVar.java b/vadl-core/main/vadl/viam/asm/elements/AsmAssignToLocalVar.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmAssignToLocalVar.java rename to vadl-core/main/vadl/viam/asm/elements/AsmAssignToLocalVar.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmFunctionInvocation.java b/vadl-core/main/vadl/viam/asm/elements/AsmFunctionInvocation.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmFunctionInvocation.java rename to vadl-core/main/vadl/viam/asm/elements/AsmFunctionInvocation.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmGrammarElement.java b/vadl-core/main/vadl/viam/asm/elements/AsmGrammarElement.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmGrammarElement.java rename to vadl-core/main/vadl/viam/asm/elements/AsmGrammarElement.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmGroup.java b/vadl-core/main/vadl/viam/asm/elements/AsmGroup.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmGroup.java rename to vadl-core/main/vadl/viam/asm/elements/AsmGroup.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmLocalVarDefinition.java b/vadl-core/main/vadl/viam/asm/elements/AsmLocalVarDefinition.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmLocalVarDefinition.java rename to vadl-core/main/vadl/viam/asm/elements/AsmLocalVarDefinition.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmLocalVarUse.java b/vadl-core/main/vadl/viam/asm/elements/AsmLocalVarUse.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmLocalVarUse.java rename to vadl-core/main/vadl/viam/asm/elements/AsmLocalVarUse.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmOption.java b/vadl-core/main/vadl/viam/asm/elements/AsmOption.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmOption.java rename to vadl-core/main/vadl/viam/asm/elements/AsmOption.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmRepetition.java b/vadl-core/main/vadl/viam/asm/elements/AsmRepetition.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmRepetition.java rename to vadl-core/main/vadl/viam/asm/elements/AsmRepetition.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmRuleInvocation.java b/vadl-core/main/vadl/viam/asm/elements/AsmRuleInvocation.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmRuleInvocation.java rename to vadl-core/main/vadl/viam/asm/elements/AsmRuleInvocation.java diff --git a/vadl/main/vadl/viam/asm/elements/AsmStringLiteralUse.java b/vadl-core/main/vadl/viam/asm/elements/AsmStringLiteralUse.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/AsmStringLiteralUse.java rename to vadl-core/main/vadl/viam/asm/elements/AsmStringLiteralUse.java diff --git a/vadl/main/vadl/viam/asm/elements/HasAssignTo.java b/vadl-core/main/vadl/viam/asm/elements/HasAssignTo.java similarity index 100% rename from vadl/main/vadl/viam/asm/elements/HasAssignTo.java rename to vadl-core/main/vadl/viam/asm/elements/HasAssignTo.java diff --git a/vadl/main/vadl/viam/asm/rules/AsmBuiltinRule.java b/vadl-core/main/vadl/viam/asm/rules/AsmBuiltinRule.java similarity index 100% rename from vadl/main/vadl/viam/asm/rules/AsmBuiltinRule.java rename to vadl-core/main/vadl/viam/asm/rules/AsmBuiltinRule.java diff --git a/vadl/main/vadl/viam/asm/rules/AsmGrammarRule.java b/vadl-core/main/vadl/viam/asm/rules/AsmGrammarRule.java similarity index 100% rename from vadl/main/vadl/viam/asm/rules/AsmGrammarRule.java rename to vadl-core/main/vadl/viam/asm/rules/AsmGrammarRule.java diff --git a/vadl/main/vadl/viam/asm/rules/AsmNonTerminalRule.java b/vadl-core/main/vadl/viam/asm/rules/AsmNonTerminalRule.java similarity index 100% rename from vadl/main/vadl/viam/asm/rules/AsmNonTerminalRule.java rename to vadl-core/main/vadl/viam/asm/rules/AsmNonTerminalRule.java diff --git a/vadl/main/vadl/viam/asm/rules/AsmTerminalRule.java b/vadl-core/main/vadl/viam/asm/rules/AsmTerminalRule.java similarity index 100% rename from vadl/main/vadl/viam/asm/rules/AsmTerminalRule.java rename to vadl-core/main/vadl/viam/asm/rules/AsmTerminalRule.java diff --git a/vadl/main/vadl/viam/graph/Canonicalizable.java b/vadl-core/main/vadl/viam/graph/Canonicalizable.java similarity index 91% rename from vadl/main/vadl/viam/graph/Canonicalizable.java rename to vadl-core/main/vadl/viam/graph/Canonicalizable.java index 0947aa5c4..665173fc2 100644 --- a/vadl/main/vadl/viam/graph/Canonicalizable.java +++ b/vadl-core/main/vadl/viam/graph/Canonicalizable.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -16,8 +16,6 @@ package vadl.viam.graph; -import vadl.viam.passes.canonicalization.Canonicalizer; - /** * Marks nodes that provide a canonical form via the {@link Canonicalizable#canonical()} method. */ @@ -32,7 +30,7 @@ public interface Canonicalizable { *

  • must not modify the graph in any way (add or delete nodes)
  • *
  • must not call {@code canonical()} on any other nodes
  • *
  • may return a new uninitialized node that must be added to the graph by the - * {@link Canonicalizer}
  • + * {@link vadl.viam.passes.canonicalization.Canonicalizer} *
  • may return {@code this} or already existing nodes (active in same graph)
  • *
  • should probably call {@code super.canonical()} and check if it is not this
  • * diff --git a/vadl/main/vadl/viam/graph/Graph.java b/vadl-core/main/vadl/viam/graph/Graph.java similarity index 100% rename from vadl/main/vadl/viam/graph/Graph.java rename to vadl-core/main/vadl/viam/graph/Graph.java diff --git a/vadl/main/vadl/viam/graph/GraphNodeVisitor.java b/vadl-core/main/vadl/viam/graph/GraphNodeVisitor.java similarity index 100% rename from vadl/main/vadl/viam/graph/GraphNodeVisitor.java rename to vadl-core/main/vadl/viam/graph/GraphNodeVisitor.java diff --git a/vadl/main/vadl/viam/graph/GraphVisitor.java b/vadl-core/main/vadl/viam/graph/GraphVisitor.java similarity index 100% rename from vadl/main/vadl/viam/graph/GraphVisitor.java rename to vadl-core/main/vadl/viam/graph/GraphVisitor.java diff --git a/vadl/main/vadl/viam/graph/HasRegisterTensor.java b/vadl-core/main/vadl/viam/graph/HasRegisterTensor.java similarity index 100% rename from vadl/main/vadl/viam/graph/HasRegisterTensor.java rename to vadl-core/main/vadl/viam/graph/HasRegisterTensor.java diff --git a/vadl/main/vadl/viam/graph/IsInstructionOperand.java b/vadl-core/main/vadl/viam/graph/IsInstructionOperand.java similarity index 100% rename from vadl/main/vadl/viam/graph/IsInstructionOperand.java rename to vadl-core/main/vadl/viam/graph/IsInstructionOperand.java diff --git a/vadl/main/vadl/viam/graph/Node.java b/vadl-core/main/vadl/viam/graph/Node.java similarity index 100% rename from vadl/main/vadl/viam/graph/Node.java rename to vadl-core/main/vadl/viam/graph/Node.java diff --git a/vadl/main/vadl/viam/graph/NodeIter.java b/vadl-core/main/vadl/viam/graph/NodeIter.java similarity index 100% rename from vadl/main/vadl/viam/graph/NodeIter.java rename to vadl-core/main/vadl/viam/graph/NodeIter.java diff --git a/vadl/main/vadl/viam/graph/NodeList.java b/vadl-core/main/vadl/viam/graph/NodeList.java similarity index 100% rename from vadl/main/vadl/viam/graph/NodeList.java rename to vadl-core/main/vadl/viam/graph/NodeList.java diff --git a/vadl/main/vadl/viam/graph/ReadsRegisterTensor.java b/vadl-core/main/vadl/viam/graph/ReadsRegisterTensor.java similarity index 100% rename from vadl/main/vadl/viam/graph/ReadsRegisterTensor.java rename to vadl-core/main/vadl/viam/graph/ReadsRegisterTensor.java diff --git a/vadl/main/vadl/viam/graph/UniqueNode.java b/vadl-core/main/vadl/viam/graph/UniqueNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/UniqueNode.java rename to vadl-core/main/vadl/viam/graph/UniqueNode.java diff --git a/vadl/main/vadl/viam/graph/ViamGraphError.java b/vadl-core/main/vadl/viam/graph/ViamGraphError.java similarity index 100% rename from vadl/main/vadl/viam/graph/ViamGraphError.java rename to vadl-core/main/vadl/viam/graph/ViamGraphError.java diff --git a/vadl/main/vadl/viam/graph/WritesRegisterTensor.java b/vadl-core/main/vadl/viam/graph/WritesRegisterTensor.java similarity index 100% rename from vadl/main/vadl/viam/graph/WritesRegisterTensor.java rename to vadl-core/main/vadl/viam/graph/WritesRegisterTensor.java diff --git a/vadl/main/vadl/viam/graph/control/AbstractBeginNode.java b/vadl-core/main/vadl/viam/graph/control/AbstractBeginNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/AbstractBeginNode.java rename to vadl-core/main/vadl/viam/graph/control/AbstractBeginNode.java diff --git a/vadl/main/vadl/viam/graph/control/AbstractEndNode.java b/vadl-core/main/vadl/viam/graph/control/AbstractEndNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/AbstractEndNode.java rename to vadl-core/main/vadl/viam/graph/control/AbstractEndNode.java diff --git a/vadl/main/vadl/viam/graph/control/BranchBeginNode.java b/vadl-core/main/vadl/viam/graph/control/BranchBeginNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/BranchBeginNode.java rename to vadl-core/main/vadl/viam/graph/control/BranchBeginNode.java diff --git a/vadl/main/vadl/viam/graph/control/BranchEndNode.java b/vadl-core/main/vadl/viam/graph/control/BranchEndNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/BranchEndNode.java rename to vadl-core/main/vadl/viam/graph/control/BranchEndNode.java diff --git a/vadl/main/vadl/viam/passes/CfgTraverser.java b/vadl-core/main/vadl/viam/graph/control/CfgTraverser.java similarity index 52% rename from vadl/main/vadl/viam/passes/CfgTraverser.java rename to vadl-core/main/vadl/viam/graph/control/CfgTraverser.java index 1be478257..7d401bc96 100644 --- a/vadl/main/vadl/viam/passes/CfgTraverser.java +++ b/vadl-core/main/vadl/viam/graph/control/CfgTraverser.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -14,86 +14,45 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.viam.passes; +package vadl.viam.graph.control; import javax.annotation.Nullable; -import vadl.viam.graph.control.AbstractEndNode; -import vadl.viam.graph.control.ControlNode; -import vadl.viam.graph.control.ControlSplitNode; -import vadl.viam.graph.control.DirectionalNode; -import vadl.viam.graph.control.MergeNode; /** * Interface for traversing a Control Flow Graph (CFG). - * Implementations can define custom behaviors by overriding the default methods provided. */ public interface CfgTraverser { - /** - * Called when a {@link ControlNode} is encountered during traversal. - * This method is invoked for every control node, after more specific methods - * like {@link #onDirectional(DirectionalNode)}, {@link #onControlSplit(ControlSplitNode)}, - * or {@link #onEnd(AbstractEndNode)} are called. - * - * @param controlNode The control node being processed. - */ default ControlNode onControlNode(ControlNode controlNode) { - // do nothing by default return controlNode; } - /** - * Called when a {@link DirectionalNode} is encountered during traversal. - * - * @param dir The directional node being processed. - */ default ControlNode onDirectional(DirectionalNode dir) { - // do nothing by default return dir; } - /** - * Called when an {@link AbstractEndNode} is encountered during traversal. - * - * @param endNode The end node being processed. - */ default ControlNode onEnd(AbstractEndNode endNode) { - // do nothing by default return endNode; } - /** - * Called when a {@link ControlSplitNode} is encountered during traversal. - * - * @param controlSplit The control split node being processed. - */ default ControlNode onControlSplit(ControlSplitNode controlSplit) { - // do nothing by default return controlSplit; } - /** * Traverses the control flow graph starting from the given node. - * - * @param branchBegin The node to begin traversing. - * @return The end node of the traversal. */ default AbstractEndNode traverseBranch(ControlNode branchBegin) { ControlNode currNode = branchBegin; while (true) { - // The handleControlNode method might delete the currNode, so we would lose the next node. - // That's why save it first. currNode = handleControlNode(currNode); if (currNode instanceof AbstractEndNode) { - // When we find the end node, we return it return (AbstractEndNode) currNode; } else if (currNode instanceof DirectionalNode dirNode) { currNode = traverseDirectional(dirNode); } else if (currNode instanceof ControlSplitNode splitNode) { - // Handle all branches of the nested control split node currNode = traverseControlSplit(splitNode); } else if (currNode != null) { currNode.ensure(false, @@ -103,13 +62,6 @@ default AbstractEndNode traverseBranch(ControlNode branchBegin) { } } - /** - * Handles the processing of a {@link ControlNode}. This method calls - * more specific methods based on the type of the control node. - * - * @param controlNode The control node to handle. - * @return the next node because the handlers might delete the {@code controlNode}. - */ private ControlNode handleControlNode(ControlNode controlNode) { if (controlNode instanceof DirectionalNode direNode) { controlNode = onDirectional(direNode); @@ -124,22 +76,12 @@ private ControlNode handleControlNode(ControlNode controlNode) { return controlNode; } - /** - * Traverses a {@link DirectionalNode} by moving to its next node. - * - * @param dirNode The directional node to traverse. - * @return The next control node in the traversal. - */ default ControlNode traverseDirectional(DirectionalNode dirNode) { return dirNode.next(); } /** - * Traverses all branches of the given {@link ControlSplitNode}. It will return - * the next node after the entire control split, which is typically a {@link MergeNode}. - * - * @param splitNode The control split node to process. - * @return The control node where to continue after the split, typically a {@link MergeNode}. + * Traverses all branches of a control split and returns the merge node reached afterward. */ default ControlNode traverseControlSplit(ControlSplitNode splitNode) { @Nullable AbstractEndNode someEnd = null; @@ -148,8 +90,6 @@ default ControlNode traverseControlSplit(ControlSplitNode splitNode) { } splitNode.ensure(someEnd != null, "Control split has no branches."); - // Get the merge node from the end of the branch return (MergeNode) someEnd.usages().findFirst().get(); } - -} \ No newline at end of file +} diff --git a/vadl/main/vadl/viam/graph/control/ControlNode.java b/vadl-core/main/vadl/viam/graph/control/ControlNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/ControlNode.java rename to vadl-core/main/vadl/viam/graph/control/ControlNode.java diff --git a/vadl/main/vadl/viam/graph/control/ControlSplitNode.java b/vadl-core/main/vadl/viam/graph/control/ControlSplitNode.java similarity index 96% rename from vadl/main/vadl/viam/graph/control/ControlSplitNode.java rename to vadl-core/main/vadl/viam/graph/control/ControlSplitNode.java index 1c655644a..50d76e8d2 100644 --- a/vadl/main/vadl/viam/graph/control/ControlSplitNode.java +++ b/vadl-core/main/vadl/viam/graph/control/ControlSplitNode.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -24,7 +24,6 @@ import vadl.viam.graph.GraphVisitor; import vadl.viam.graph.Node; import vadl.viam.graph.NodeList; -import vadl.viam.passes.CfgTraverser; /** * Represents a control flow node that causes diverging execution. diff --git a/vadl/main/vadl/viam/graph/control/DirectionalNode.java b/vadl-core/main/vadl/viam/graph/control/DirectionalNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/DirectionalNode.java rename to vadl-core/main/vadl/viam/graph/control/DirectionalNode.java diff --git a/vadl/main/vadl/viam/graph/control/ForallEndNode.java b/vadl-core/main/vadl/viam/graph/control/ForallEndNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/ForallEndNode.java rename to vadl-core/main/vadl/viam/graph/control/ForallEndNode.java diff --git a/vadl/main/vadl/viam/graph/control/ForallNode.java b/vadl-core/main/vadl/viam/graph/control/ForallNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/ForallNode.java rename to vadl-core/main/vadl/viam/graph/control/ForallNode.java diff --git a/vadl/main/vadl/viam/graph/control/IfNode.java b/vadl-core/main/vadl/viam/graph/control/IfNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/IfNode.java rename to vadl-core/main/vadl/viam/graph/control/IfNode.java diff --git a/vadl/main/vadl/viam/graph/control/InstrCallNode.java b/vadl-core/main/vadl/viam/graph/control/InstrCallNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/InstrCallNode.java rename to vadl-core/main/vadl/viam/graph/control/InstrCallNode.java diff --git a/vadl/main/vadl/viam/graph/control/InstrEndNode.java b/vadl-core/main/vadl/viam/graph/control/InstrEndNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/InstrEndNode.java rename to vadl-core/main/vadl/viam/graph/control/InstrEndNode.java diff --git a/vadl/main/vadl/viam/passes/sideEffectScheduling/nodes/InstrExitNode.java b/vadl-core/main/vadl/viam/graph/control/InstrExitNode.java similarity index 97% rename from vadl/main/vadl/viam/passes/sideEffectScheduling/nodes/InstrExitNode.java rename to vadl-core/main/vadl/viam/graph/control/InstrExitNode.java index 01e80b767..7dcb295e5 100644 --- a/vadl/main/vadl/viam/passes/sideEffectScheduling/nodes/InstrExitNode.java +++ b/vadl-core/main/vadl/viam/graph/control/InstrExitNode.java @@ -14,14 +14,13 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.viam.passes.sideEffectScheduling.nodes; +package vadl.viam.graph.control; import java.util.List; import vadl.javaannotations.viam.Input; import vadl.viam.graph.GraphNodeVisitor; import vadl.viam.graph.GraphVisitor; import vadl.viam.graph.Node; -import vadl.viam.graph.control.DirectionalNode; import vadl.viam.graph.dependency.ProcCallNode; import vadl.viam.graph.dependency.SideEffectNode; import vadl.viam.graph.dependency.WriteResourceNode; @@ -163,4 +162,4 @@ protected void applyOnInputsUnsafe(GraphVisitor.Applier visitor) { * @return The PC write operation. */ public abstract SideEffectNode cause(); -} \ No newline at end of file +} diff --git a/vadl/main/vadl/viam/graph/control/MergeNode.java b/vadl-core/main/vadl/viam/graph/control/MergeNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/MergeNode.java rename to vadl-core/main/vadl/viam/graph/control/MergeNode.java diff --git a/vadl/main/vadl/viam/graph/control/NewLabelNode.java b/vadl-core/main/vadl/viam/graph/control/NewLabelNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/NewLabelNode.java rename to vadl-core/main/vadl/viam/graph/control/NewLabelNode.java diff --git a/vadl/main/vadl/viam/graph/control/ProcEndNode.java b/vadl-core/main/vadl/viam/graph/control/ProcEndNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/ProcEndNode.java rename to vadl-core/main/vadl/viam/graph/control/ProcEndNode.java diff --git a/vadl/main/vadl/viam/graph/control/ReturnNode.java b/vadl-core/main/vadl/viam/graph/control/ReturnNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/ReturnNode.java rename to vadl-core/main/vadl/viam/graph/control/ReturnNode.java diff --git a/vadl/main/vadl/viam/graph/control/ScheduledNode.java b/vadl-core/main/vadl/viam/graph/control/ScheduledNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/ScheduledNode.java rename to vadl-core/main/vadl/viam/graph/control/ScheduledNode.java diff --git a/vadl/main/vadl/viam/graph/control/StageEndNode.java b/vadl-core/main/vadl/viam/graph/control/StageEndNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/StageEndNode.java rename to vadl-core/main/vadl/viam/graph/control/StageEndNode.java diff --git a/vadl/main/vadl/viam/graph/control/StartNode.java b/vadl-core/main/vadl/viam/graph/control/StartNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/control/StartNode.java rename to vadl-core/main/vadl/viam/graph/control/StartNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/AbstractFunctionCallNode.java b/vadl-core/main/vadl/viam/graph/dependency/AbstractFunctionCallNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/AbstractFunctionCallNode.java rename to vadl-core/main/vadl/viam/graph/dependency/AbstractFunctionCallNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/AsmBuiltInCall.java b/vadl-core/main/vadl/viam/graph/dependency/AsmBuiltInCall.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/AsmBuiltInCall.java rename to vadl-core/main/vadl/viam/graph/dependency/AsmBuiltInCall.java diff --git a/vadl/main/vadl/viam/graph/dependency/BuiltInCall.java b/vadl-core/main/vadl/viam/graph/dependency/BuiltInCall.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/BuiltInCall.java rename to vadl-core/main/vadl/viam/graph/dependency/BuiltInCall.java diff --git a/vadl/main/vadl/viam/graph/dependency/ConstantNode.java b/vadl-core/main/vadl/viam/graph/dependency/ConstantNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ConstantNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ConstantNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/DependencyNode.java b/vadl-core/main/vadl/viam/graph/dependency/DependencyNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/DependencyNode.java rename to vadl-core/main/vadl/viam/graph/dependency/DependencyNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/DynSliceNode.java b/vadl-core/main/vadl/viam/graph/dependency/DynSliceNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/DynSliceNode.java rename to vadl-core/main/vadl/viam/graph/dependency/DynSliceNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ExpressionNode.java b/vadl-core/main/vadl/viam/graph/dependency/ExpressionNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ExpressionNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ExpressionNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/FieldAccessRefNode.java b/vadl-core/main/vadl/viam/graph/dependency/FieldAccessRefNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/FieldAccessRefNode.java rename to vadl-core/main/vadl/viam/graph/dependency/FieldAccessRefNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/FieldRefNode.java b/vadl-core/main/vadl/viam/graph/dependency/FieldRefNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/FieldRefNode.java rename to vadl-core/main/vadl/viam/graph/dependency/FieldRefNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/FoldNode.java b/vadl-core/main/vadl/viam/graph/dependency/FoldNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/FoldNode.java rename to vadl-core/main/vadl/viam/graph/dependency/FoldNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ForIdxNode.java b/vadl-core/main/vadl/viam/graph/dependency/ForIdxNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ForIdxNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ForIdxNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/FuncCallNode.java b/vadl-core/main/vadl/viam/graph/dependency/FuncCallNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/FuncCallNode.java rename to vadl-core/main/vadl/viam/graph/dependency/FuncCallNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/FuncParamNode.java b/vadl-core/main/vadl/viam/graph/dependency/FuncParamNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/FuncParamNode.java rename to vadl-core/main/vadl/viam/graph/dependency/FuncParamNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/LabelNode.java b/vadl-core/main/vadl/viam/graph/dependency/LabelNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/LabelNode.java rename to vadl-core/main/vadl/viam/graph/dependency/LabelNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/LetNode.java b/vadl-core/main/vadl/viam/graph/dependency/LetNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/LetNode.java rename to vadl-core/main/vadl/viam/graph/dependency/LetNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/MiaBuiltInCall.java b/vadl-core/main/vadl/viam/graph/dependency/MiaBuiltInCall.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/MiaBuiltInCall.java rename to vadl-core/main/vadl/viam/graph/dependency/MiaBuiltInCall.java diff --git a/vadl/main/vadl/viam/graph/dependency/ParamNode.java b/vadl-core/main/vadl/viam/graph/dependency/ParamNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ParamNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ParamNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ProcCallNode.java b/vadl-core/main/vadl/viam/graph/dependency/ProcCallNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ProcCallNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ProcCallNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ReadArtificialResNode.java b/vadl-core/main/vadl/viam/graph/dependency/ReadArtificialResNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ReadArtificialResNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ReadArtificialResNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ReadMemNode.java b/vadl-core/main/vadl/viam/graph/dependency/ReadMemNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ReadMemNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ReadMemNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ReadRegTensorNode.java b/vadl-core/main/vadl/viam/graph/dependency/ReadRegTensorNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ReadRegTensorNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ReadRegTensorNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ReadResourceNode.java b/vadl-core/main/vadl/viam/graph/dependency/ReadResourceNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ReadResourceNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ReadResourceNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ReadSignalNode.java b/vadl-core/main/vadl/viam/graph/dependency/ReadSignalNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ReadSignalNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ReadSignalNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ReadStageOutputNode.java b/vadl-core/main/vadl/viam/graph/dependency/ReadStageOutputNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ReadStageOutputNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ReadStageOutputNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/SelectNode.java b/vadl-core/main/vadl/viam/graph/dependency/SelectNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/SelectNode.java rename to vadl-core/main/vadl/viam/graph/dependency/SelectNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/SideEffectNode.java b/vadl-core/main/vadl/viam/graph/dependency/SideEffectNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/SideEffectNode.java rename to vadl-core/main/vadl/viam/graph/dependency/SideEffectNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/SignExtendNode.java b/vadl-core/main/vadl/viam/graph/dependency/SignExtendNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/SignExtendNode.java rename to vadl-core/main/vadl/viam/graph/dependency/SignExtendNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/SliceNode.java b/vadl-core/main/vadl/viam/graph/dependency/SliceNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/SliceNode.java rename to vadl-core/main/vadl/viam/graph/dependency/SliceNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/StageEffectNode.java b/vadl-core/main/vadl/viam/graph/dependency/StageEffectNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/StageEffectNode.java rename to vadl-core/main/vadl/viam/graph/dependency/StageEffectNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/TensorNode.java b/vadl-core/main/vadl/viam/graph/dependency/TensorNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/TensorNode.java rename to vadl-core/main/vadl/viam/graph/dependency/TensorNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/TruncateNode.java b/vadl-core/main/vadl/viam/graph/dependency/TruncateNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/TruncateNode.java rename to vadl-core/main/vadl/viam/graph/dependency/TruncateNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/TupleGetFieldNode.java b/vadl-core/main/vadl/viam/graph/dependency/TupleGetFieldNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/TupleGetFieldNode.java rename to vadl-core/main/vadl/viam/graph/dependency/TupleGetFieldNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/UnaryNode.java b/vadl-core/main/vadl/viam/graph/dependency/UnaryNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/UnaryNode.java rename to vadl-core/main/vadl/viam/graph/dependency/UnaryNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/WriteArtificialResNode.java b/vadl-core/main/vadl/viam/graph/dependency/WriteArtificialResNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/WriteArtificialResNode.java rename to vadl-core/main/vadl/viam/graph/dependency/WriteArtificialResNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/WriteMemNode.java b/vadl-core/main/vadl/viam/graph/dependency/WriteMemNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/WriteMemNode.java rename to vadl-core/main/vadl/viam/graph/dependency/WriteMemNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/WriteRegTensorNode.java b/vadl-core/main/vadl/viam/graph/dependency/WriteRegTensorNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/WriteRegTensorNode.java rename to vadl-core/main/vadl/viam/graph/dependency/WriteRegTensorNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/WriteResourceNode.java b/vadl-core/main/vadl/viam/graph/dependency/WriteResourceNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/WriteResourceNode.java rename to vadl-core/main/vadl/viam/graph/dependency/WriteResourceNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/WriteSignalNode.java b/vadl-core/main/vadl/viam/graph/dependency/WriteSignalNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/WriteSignalNode.java rename to vadl-core/main/vadl/viam/graph/dependency/WriteSignalNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/WriteStageOutputNode.java b/vadl-core/main/vadl/viam/graph/dependency/WriteStageOutputNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/WriteStageOutputNode.java rename to vadl-core/main/vadl/viam/graph/dependency/WriteStageOutputNode.java diff --git a/vadl/main/vadl/viam/graph/dependency/ZeroExtendNode.java b/vadl-core/main/vadl/viam/graph/dependency/ZeroExtendNode.java similarity index 100% rename from vadl/main/vadl/viam/graph/dependency/ZeroExtendNode.java rename to vadl-core/main/vadl/viam/graph/dependency/ZeroExtendNode.java diff --git a/vadl/main/vadl/viam/graph/visualize/DotGraphVisualizer.java b/vadl-core/main/vadl/viam/graph/visualize/DotGraphVisualizer.java similarity index 100% rename from vadl/main/vadl/viam/graph/visualize/DotGraphVisualizer.java rename to vadl-core/main/vadl/viam/graph/visualize/DotGraphVisualizer.java diff --git a/vadl/main/vadl/viam/graph/visualize/GraphVisualizer.java b/vadl-core/main/vadl/viam/graph/visualize/GraphVisualizer.java similarity index 100% rename from vadl/main/vadl/viam/graph/visualize/GraphVisualizer.java rename to vadl-core/main/vadl/viam/graph/visualize/GraphVisualizer.java diff --git a/vadl/main/vadl/viam/matching/Matcher.java b/vadl-core/main/vadl/viam/matching/Matcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/Matcher.java rename to vadl-core/main/vadl/viam/matching/Matcher.java diff --git a/vadl/main/vadl/viam/matching/TreeMatcher.java b/vadl-core/main/vadl/viam/matching/TreeMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/TreeMatcher.java rename to vadl-core/main/vadl/viam/matching/TreeMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/AnyChildMatcher.java b/vadl-core/main/vadl/viam/matching/impl/AnyChildMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/AnyChildMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/AnyChildMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/AnyConstantValueMatcher.java b/vadl-core/main/vadl/viam/matching/impl/AnyConstantValueMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/AnyConstantValueMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/AnyConstantValueMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/AnyNodeMatcher.java b/vadl-core/main/vadl/viam/matching/impl/AnyNodeMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/AnyNodeMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/AnyNodeMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/AnyReadMemMatcher.java b/vadl-core/main/vadl/viam/matching/impl/AnyReadMemMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/AnyReadMemMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/AnyReadMemMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/AnyReadRegisterFileMatcher.java b/vadl-core/main/vadl/viam/matching/impl/AnyReadRegisterFileMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/AnyReadRegisterFileMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/AnyReadRegisterFileMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/BuiltInMatcher.java b/vadl-core/main/vadl/viam/matching/impl/BuiltInMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/BuiltInMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/BuiltInMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/ConstantIntegerValueMatcher.java b/vadl-core/main/vadl/viam/matching/impl/ConstantIntegerValueMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/ConstantIntegerValueMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/ConstantIntegerValueMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/ConstantValueMatcher.java b/vadl-core/main/vadl/viam/matching/impl/ConstantValueMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/ConstantValueMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/ConstantValueMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/FieldAccessRefMatcher.java b/vadl-core/main/vadl/viam/matching/impl/FieldAccessRefMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/FieldAccessRefMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/FieldAccessRefMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/FieldRefNodeMatcher.java b/vadl-core/main/vadl/viam/matching/impl/FieldRefNodeMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/FieldRefNodeMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/FieldRefNodeMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/FuncCallMatcher.java b/vadl-core/main/vadl/viam/matching/impl/FuncCallMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/FuncCallMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/FuncCallMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/FuncParamMatcher.java b/vadl-core/main/vadl/viam/matching/impl/FuncParamMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/FuncParamMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/FuncParamMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/IsReadRegMatcher.java b/vadl-core/main/vadl/viam/matching/impl/IsReadRegMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/IsReadRegMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/IsReadRegMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/IsZeroConstantValueMatcher.java b/vadl-core/main/vadl/viam/matching/impl/IsZeroConstantValueMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/IsZeroConstantValueMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/IsZeroConstantValueMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/LetNodeMatcher.java b/vadl-core/main/vadl/viam/matching/impl/LetNodeMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/LetNodeMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/LetNodeMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/NegMatcher.java b/vadl-core/main/vadl/viam/matching/impl/NegMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/NegMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/NegMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/ReadRegisterCounterMatcher.java b/vadl-core/main/vadl/viam/matching/impl/ReadRegisterCounterMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/ReadRegisterCounterMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/ReadRegisterCounterMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/TruncNodeMatcher.java b/vadl-core/main/vadl/viam/matching/impl/TruncNodeMatcher.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/TruncNodeMatcher.java rename to vadl-core/main/vadl/viam/matching/impl/TruncNodeMatcher.java diff --git a/vadl/main/vadl/viam/matching/impl/WriteResourceMatcherForValue.java b/vadl-core/main/vadl/viam/matching/impl/WriteResourceMatcherForValue.java similarity index 100% rename from vadl/main/vadl/viam/matching/impl/WriteResourceMatcherForValue.java rename to vadl-core/main/vadl/viam/matching/impl/WriteResourceMatcherForValue.java diff --git a/vadl/main/vadl/viam/passes/GraphProcessor.java b/vadl-core/main/vadl/viam/passes/GraphProcessor.java similarity index 98% rename from vadl/main/vadl/viam/passes/GraphProcessor.java rename to vadl-core/main/vadl/viam/passes/GraphProcessor.java index daa190e15..361b63f88 100644 --- a/vadl/main/vadl/viam/passes/GraphProcessor.java +++ b/vadl-core/main/vadl/viam/passes/GraphProcessor.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/viam/passes/canonicalization/Canonicalizer.java b/vadl-core/main/vadl/viam/passes/canonicalization/Canonicalizer.java similarity index 97% rename from vadl/main/vadl/viam/passes/canonicalization/Canonicalizer.java rename to vadl-core/main/vadl/viam/passes/canonicalization/Canonicalizer.java index ae41203ae..4eb0cede4 100644 --- a/vadl/main/vadl/viam/passes/canonicalization/Canonicalizer.java +++ b/vadl-core/main/vadl/viam/passes/canonicalization/Canonicalizer.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/viam/passes/functionInliner/Inliner.java b/vadl-core/main/vadl/viam/passes/functionInliner/Inliner.java similarity index 98% rename from vadl/main/vadl/viam/passes/functionInliner/Inliner.java rename to vadl-core/main/vadl/viam/passes/functionInliner/Inliner.java index 74437ece9..7f1aec3a6 100644 --- a/vadl/main/vadl/viam/passes/functionInliner/Inliner.java +++ b/vadl-core/main/vadl/viam/passes/functionInliner/Inliner.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/viam/visualize/DotVisualizer.java b/vadl-core/main/vadl/viam/visualize/DotVisualizer.java similarity index 100% rename from vadl/main/vadl/viam/visualize/DotVisualizer.java rename to vadl-core/main/vadl/viam/visualize/DotVisualizer.java diff --git a/vadl/main/vadl/viam/visualize/ViamVisualizer.java b/vadl-core/main/vadl/viam/visualize/ViamVisualizer.java similarity index 100% rename from vadl/main/vadl/viam/visualize/ViamVisualizer.java rename to vadl-core/main/vadl/viam/visualize/ViamVisualizer.java diff --git a/vadl-frontend/build.gradle.kts b/vadl-frontend/build.gradle.kts new file mode 100644 index 000000000..28c20749a --- /dev/null +++ b/vadl-frontend/build.gradle.kts @@ -0,0 +1,43 @@ +import vadl.GenerateCocoParserTask + +plugins { + id("conventions-jvm") +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(project(":vadl-core")) + implementation(libs.guava) + implementation(libs.commons.io) + implementation(libs.commons.lang3) + implementation(libs.commons.text) +} + +sourceSets { + main { + java { + srcDir("build/generated/sources/coco/java/main") + } + } +} + +tasks.withType().configureEach { + dependsOn("generateCocoParser") +} + +tasks.withType().configureEach { + doFirst { + exclude { fileTreeElement -> + fileTreeElement.file.absolutePath.contains("build/generated/") + } + } +} + +tasks.register("generateCocoParser") { + group = "build" + inputFiles.from("main/vadl/ast/vadl.ATG") + parserFrame.set(project.file("main/vadl/ast/Parser.frame")) + outputDir.set(outputDir.get().dir("vadl/ast")) + cocoJar.set(project.file("libs/Coco.jar")) +} diff --git a/vadl/libs/Coco.jar b/vadl-frontend/libs/Coco.jar similarity index 100% rename from vadl/libs/Coco.jar rename to vadl-frontend/libs/Coco.jar diff --git a/vadl/main/vadl/ast/AnnotationTable.java b/vadl-frontend/main/vadl/ast/AnnotationTable.java similarity index 99% rename from vadl/main/vadl/ast/AnnotationTable.java rename to vadl-frontend/main/vadl/ast/AnnotationTable.java index 4fc16d0b8..d177b0f4f 100644 --- a/vadl/main/vadl/ast/AnnotationTable.java +++ b/vadl-frontend/main/vadl/ast/AnnotationTable.java @@ -37,10 +37,6 @@ import java.util.stream.Collectors; import javax.annotation.Nullable; import vadl.error.Diagnostic; -import vadl.gcb.annotations.OnlyNegativeNumbersAnnotation; -import vadl.gcb.annotations.RelocationSyntaxAnnotation; -import vadl.gcb.annotations.SkipPruningAnnotation; -import vadl.gcb.annotations.StatusRegisterAnnotation; import vadl.types.Type; import vadl.types.UIntType; import vadl.utils.Pair; @@ -68,6 +64,10 @@ import vadl.viam.annotations.EnableHtifAnno; import vadl.viam.annotations.FieldAccessAnnotation; import vadl.viam.annotations.InstructionUndefinedAnno; +import vadl.viam.annotations.OnlyNegativeNumbersAnnotation; +import vadl.viam.annotations.RelocationSyntaxAnnotation; +import vadl.viam.annotations.SkipPruningAnnotation; +import vadl.viam.annotations.StatusRegisterAnnotation; /** * The annotation table defines how {@link Annotation} can be used for different elements in diff --git a/vadl/main/vadl/ast/AsmDirective.java b/vadl-frontend/main/vadl/ast/AsmDirective.java similarity index 98% rename from vadl/main/vadl/ast/AsmDirective.java rename to vadl-frontend/main/vadl/ast/AsmDirective.java index 91fbc953c..ad5e4e399 100644 --- a/vadl/main/vadl/ast/AsmDirective.java +++ b/vadl-frontend/main/vadl/ast/AsmDirective.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/AsmGrammarDefaultRules.java b/vadl-frontend/main/vadl/ast/AsmGrammarDefaultRules.java similarity index 100% rename from vadl/main/vadl/ast/AsmGrammarDefaultRules.java rename to vadl-frontend/main/vadl/ast/AsmGrammarDefaultRules.java diff --git a/vadl/main/vadl/ast/AsmLL1Checker.java b/vadl-frontend/main/vadl/ast/AsmLL1Checker.java similarity index 100% rename from vadl/main/vadl/ast/AsmLL1Checker.java rename to vadl-frontend/main/vadl/ast/AsmLL1Checker.java diff --git a/vadl/main/vadl/ast/Ast.java b/vadl-frontend/main/vadl/ast/Ast.java similarity index 100% rename from vadl/main/vadl/ast/Ast.java rename to vadl-frontend/main/vadl/ast/Ast.java diff --git a/vadl/main/vadl/ast/AstDumper.java b/vadl-frontend/main/vadl/ast/AstDumper.java similarity index 98% rename from vadl/main/vadl/ast/AstDumper.java rename to vadl-frontend/main/vadl/ast/AstDumper.java index 133a42d86..f2682cef4 100644 --- a/vadl/main/vadl/ast/AstDumper.java +++ b/vadl-frontend/main/vadl/ast/AstDumper.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/AstUtils.java b/vadl-frontend/main/vadl/ast/AstUtils.java similarity index 100% rename from vadl/main/vadl/ast/AstUtils.java rename to vadl-frontend/main/vadl/ast/AstUtils.java diff --git a/vadl/main/vadl/ast/AstVisitor.java b/vadl-frontend/main/vadl/ast/AstVisitor.java similarity index 100% rename from vadl/main/vadl/ast/AstVisitor.java rename to vadl-frontend/main/vadl/ast/AstVisitor.java diff --git a/vadl/main/vadl/ast/BehaviorLowering.java b/vadl-frontend/main/vadl/ast/BehaviorLowering.java similarity index 100% rename from vadl/main/vadl/ast/BehaviorLowering.java rename to vadl-frontend/main/vadl/ast/BehaviorLowering.java diff --git a/vadl/main/vadl/ast/ConstantEvaluator.java b/vadl-frontend/main/vadl/ast/ConstantEvaluator.java similarity index 100% rename from vadl/main/vadl/ast/ConstantEvaluator.java rename to vadl-frontend/main/vadl/ast/ConstantEvaluator.java diff --git a/vadl/main/vadl/ast/ConstantType.java b/vadl-frontend/main/vadl/ast/ConstantType.java similarity index 100% rename from vadl/main/vadl/ast/ConstantType.java rename to vadl-frontend/main/vadl/ast/ConstantType.java diff --git a/vadl/main/vadl/ast/Definition.java b/vadl-frontend/main/vadl/ast/Definition.java similarity index 100% rename from vadl/main/vadl/ast/Definition.java rename to vadl-frontend/main/vadl/ast/Definition.java diff --git a/vadl/main/vadl/ast/Expr.java b/vadl-frontend/main/vadl/ast/Expr.java similarity index 100% rename from vadl/main/vadl/ast/Expr.java rename to vadl-frontend/main/vadl/ast/Expr.java diff --git a/vadl/main/vadl/ast/FormatBitsVerifier.java b/vadl-frontend/main/vadl/ast/FormatBitsVerifier.java similarity index 97% rename from vadl/main/vadl/ast/FormatBitsVerifier.java rename to vadl-frontend/main/vadl/ast/FormatBitsVerifier.java index 183d77ae3..0c428a11b 100644 --- a/vadl/main/vadl/ast/FormatBitsVerifier.java +++ b/vadl-frontend/main/vadl/ast/FormatBitsVerifier.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl-frontend/main/vadl/ast/FormatType.java b/vadl-frontend/main/vadl/ast/FormatType.java new file mode 100644 index 000000000..3b342d918 --- /dev/null +++ b/vadl-frontend/main/vadl/ast/FormatType.java @@ -0,0 +1,45 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.ast; + +import java.util.Objects; +import vadl.types.BitsType; +import vadl.types.Type; + +/** + * A format type is a type from a format. + * This needs to be part of the typesystem to resolve subcalls. + * + *

    This type never leaves the frontend and will be lowered to the concrete datatype. + */ +class FormatType extends BitsType { + FormatDefinition format; + + protected FormatType(FormatDefinition format) { + super(((BitsType) Objects.requireNonNull(format.typeLiteral.type)).bitWidth()); + this.format = format; + } + + Type innerType() { + return Objects.requireNonNull(format.typeLiteral.type); + } + + @Override + public String toString() { + return format.identifier().name; + } +} diff --git a/vadl/main/vadl/ast/Frontend.java b/vadl-frontend/main/vadl/ast/Frontend.java similarity index 100% rename from vadl/main/vadl/ast/Frontend.java rename to vadl-frontend/main/vadl/ast/Frontend.java diff --git a/vadl/main/vadl/ast/Group.java b/vadl-frontend/main/vadl/ast/Group.java similarity index 98% rename from vadl/main/vadl/ast/Group.java rename to vadl-frontend/main/vadl/ast/Group.java index 5130cf863..f67db7d9c 100644 --- a/vadl/main/vadl/ast/Group.java +++ b/vadl-frontend/main/vadl/ast/Group.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/InterleavedTimingRecorder.java b/vadl-frontend/main/vadl/ast/InterleavedTimingRecorder.java similarity index 100% rename from vadl/main/vadl/ast/InterleavedTimingRecorder.java rename to vadl-frontend/main/vadl/ast/InterleavedTimingRecorder.java diff --git a/vadl/main/vadl/ast/InternalErrorType.java b/vadl-frontend/main/vadl/ast/InternalErrorType.java similarity index 93% rename from vadl/main/vadl/ast/InternalErrorType.java rename to vadl-frontend/main/vadl/ast/InternalErrorType.java index 7e5216fd9..414b0358d 100644 --- a/vadl/main/vadl/ast/InternalErrorType.java +++ b/vadl-frontend/main/vadl/ast/InternalErrorType.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/Macro.java b/vadl-frontend/main/vadl/ast/Macro.java similarity index 95% rename from vadl/main/vadl/ast/Macro.java rename to vadl-frontend/main/vadl/ast/Macro.java index d406db327..29567d1c6 100644 --- a/vadl/main/vadl/ast/Macro.java +++ b/vadl-frontend/main/vadl/ast/Macro.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/MacroExpander.java b/vadl-frontend/main/vadl/ast/MacroExpander.java similarity index 100% rename from vadl/main/vadl/ast/MacroExpander.java rename to vadl-frontend/main/vadl/ast/MacroExpander.java diff --git a/vadl/main/vadl/ast/MacroMatch.java b/vadl-frontend/main/vadl/ast/MacroMatch.java similarity index 96% rename from vadl/main/vadl/ast/MacroMatch.java rename to vadl-frontend/main/vadl/ast/MacroMatch.java index 731a95dca..68f312390 100644 --- a/vadl/main/vadl/ast/MacroMatch.java +++ b/vadl-frontend/main/vadl/ast/MacroMatch.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/ModelRemover.java b/vadl-frontend/main/vadl/ast/ModelRemover.java similarity index 100% rename from vadl/main/vadl/ast/ModelRemover.java rename to vadl-frontend/main/vadl/ast/ModelRemover.java diff --git a/vadl/main/vadl/ast/Occurrence.java b/vadl-frontend/main/vadl/ast/Occurrence.java similarity index 92% rename from vadl/main/vadl/ast/Occurrence.java rename to vadl-frontend/main/vadl/ast/Occurrence.java index 350acac70..5fbaaa84b 100644 --- a/vadl/main/vadl/ast/Occurrence.java +++ b/vadl-frontend/main/vadl/ast/Occurrence.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/Parser.frame b/vadl-frontend/main/vadl/ast/Parser.frame similarity index 100% rename from vadl/main/vadl/ast/Parser.frame rename to vadl-frontend/main/vadl/ast/Parser.frame diff --git a/vadl/main/vadl/ast/ParserUtils.java b/vadl-frontend/main/vadl/ast/ParserUtils.java similarity index 100% rename from vadl/main/vadl/ast/ParserUtils.java rename to vadl-frontend/main/vadl/ast/ParserUtils.java diff --git a/vadl/main/vadl/ast/Scanner.frame b/vadl-frontend/main/vadl/ast/Scanner.frame similarity index 96% rename from vadl/main/vadl/ast/Scanner.frame rename to vadl-frontend/main/vadl/ast/Scanner.frame index 67f3eef83..56e6d818e 100644 --- a/vadl/main/vadl/ast/Scanner.frame +++ b/vadl-frontend/main/vadl/ast/Scanner.frame @@ -1,427 +1,427 @@ -/*------------------------------------------------------------------------- -Compiler Generator Coco/R, -Copyright (c) 1990, 2004 Hanspeter Moessenboeck, University of Linz -extended by M. Loeberbauer & A. Woess, Univ. of Linz -ported from C# to Java by Wolfgang Ahorner -with improvements by Pat Terry, Rhodes University - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -As an exception, it is allowed to write an extension of Coco/R that is -used as a plugin in non-free software. - -If not otherwise stated, any source code generated by Coco/R (other than -Coco/R itself) does not fall under the GNU General Public License. -------------------------------------------------------------------------*/ --->begin -import java.io.InputStream; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.Map; -import java.util.HashMap; - -class Token { - public int kind; // token kind - public int pos; // token position in bytes in the source text (starting at 0) - public int charPos; // token position in characters in the source text (starting at 0) - public int col; // token column (starting at 1) - public int line; // token line (starting at 1) - public String val; // token value - public Token next; // ML 2005-03-11 Peek tokens are kept in linked list -} - -//----------------------------------------------------------------------------------- -// Buffer -//----------------------------------------------------------------------------------- -class Buffer { - // This Buffer supports the following cases: - // 1) seekable stream (file) - // a) whole stream in buffer - // b) part of stream in buffer - // 2) non seekable stream (network, console) - - public static final int EOF = Character.MAX_VALUE + 1; - private static final int MIN_BUFFER_LENGTH = 1024; // 1KB - private static final int MAX_BUFFER_LENGTH = MIN_BUFFER_LENGTH * 64; // 64KB - private byte[] buf; // input buffer - private int bufStart; // position of first byte in buffer relative to input stream - private int bufLen; // length of buffer - private int fileLen; // length of input stream (may change if stream is no file) - private int bufPos; // current position in buffer - private RandomAccessFile file; // input stream (seekable) - private InputStream stream; // growing input stream (e.g.: console, network) - - public Buffer(InputStream s) { - stream = s; - fileLen = bufLen = bufStart = bufPos = 0; - buf = new byte[MIN_BUFFER_LENGTH]; - } - - public Buffer(String fileName) { - try { - file = new RandomAccessFile(fileName, "r"); - fileLen = (int) file.length(); - bufLen = Math.min(fileLen, MAX_BUFFER_LENGTH); - buf = new byte[bufLen]; - bufStart = Integer.MAX_VALUE; // nothing in buffer so far - if (fileLen > 0) setPos(0); // setup buffer to position 0 (start) - else bufPos = 0; // index 0 is already after the file, thus setPos(0) is invalid - if (bufLen == fileLen) Close(); - } catch (IOException e) { - throw new FatalError("Could not open file " + fileName); - } - } - - // don't use b after this call anymore - // called in UTF8Buffer constructor - protected Buffer(Buffer b) { - buf = b.buf; - bufStart = b.bufStart; - bufLen = b.bufLen; - fileLen = b.fileLen; - bufPos = b.bufPos; - file = b.file; - stream = b.stream; - // keep finalize from closing the file - b.file = null; - } - - protected void Close() { - if (file != null) { - try { - file.close(); - file = null; - } catch (IOException e) { - throw new FatalError(e.getMessage()); - } - } - } - - public int Read() { - if (bufPos < bufLen) { - return buf[bufPos++] & 0xff; // mask out sign bits - } else if (getPos() < fileLen) { - setPos(getPos()); // shift buffer start to pos - return buf[bufPos++] & 0xff; // mask out sign bits - } else if (stream != null && ReadNextStreamChunk() > 0) { - return buf[bufPos++] & 0xff; // mask out sign bits - } else { - return EOF; - } - } - - public int Peek() { - int curPos = getPos(); - int ch = Read(); - setPos(curPos); - return ch; - } - - // beg .. begin, zero-based, inclusive, in byte - // end .. end, zero-based, exclusive, in byte - public String GetString(int beg, int end) { - int len = 0; - char[] buf = new char[end - beg]; - int oldPos = getPos(); - setPos(beg); - while (getPos() < end) buf[len++] = (char) Read(); - setPos(oldPos); - return new String(buf, 0, len); - } - - public int getPos() { - return bufPos + bufStart; - } - - public void setPos(int value) { - if (value >= fileLen && stream != null) { - // Wanted position is after buffer and the stream - // is not seek-able e.g. network or console, - // thus we have to read the stream manually till - // the wanted position is in sight. - while (value >= fileLen && ReadNextStreamChunk() > 0); - } - - if (value < 0 || value > fileLen) { - throw new FatalError("buffer out of bounds access, position: " + value); - } - - if (value >= bufStart && value < bufStart + bufLen) { // already in buffer - bufPos = value - bufStart; - } else if (file != null) { // must be swapped in - try { - file.seek(value); - bufLen = file.read(buf); - bufStart = value; bufPos = 0; - } catch(IOException e) { - throw new FatalError(e.getMessage()); - } - } else { - // set the position to the end of the file, Pos will return fileLen. - bufPos = fileLen - bufStart; - } - } - - // Read the next chunk of bytes from the stream, increases the buffer - // if needed and updates the fields fileLen and bufLen. - // Returns the number of bytes read. - private int ReadNextStreamChunk() { - int free = buf.length - bufLen; - if (free == 0) { - // in the case of a growing input stream - // we can neither seek in the stream, nor can we - // foresee the maximum length, thus we must adapt - // the buffer size on demand. - byte[] newBuf = new byte[bufLen * 2]; - System.arraycopy(buf, 0, newBuf, 0, bufLen); - buf = newBuf; - free = bufLen; - } - - int read; - try { read = stream.read(buf, bufLen, free); } - catch (IOException ioex) { throw new FatalError(ioex.getMessage()); } - - if (read > 0) { - fileLen = bufLen = (bufLen + read); - return read; - } - // end of stream reached - return 0; - } -} - -//----------------------------------------------------------------------------------- -// UTF8Buffer -//----------------------------------------------------------------------------------- -class UTF8Buffer extends Buffer { - UTF8Buffer(Buffer b) { super(b); } - - public int Read() { - int ch; - do { - ch = super.Read(); - // until we find a utf8 start (0xxxxxxx or 11xxxxxx) - } while ((ch >= 128) && ((ch & 0xC0) != 0xC0) && (ch != EOF)); - if (ch < 128 || ch == EOF) { - // nothing to do, first 127 chars are the same in ascii and utf8 - // 0xxxxxxx or end of file character - } else if ((ch & 0xF0) == 0xF0) { - // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - int c1 = ch & 0x07; ch = super.Read(); - int c2 = ch & 0x3F; ch = super.Read(); - int c3 = ch & 0x3F; ch = super.Read(); - int c4 = ch & 0x3F; - ch = (((((c1 << 6) | c2) << 6) | c3) << 6) | c4; - } else if ((ch & 0xE0) == 0xE0) { - // 1110xxxx 10xxxxxx 10xxxxxx - int c1 = ch & 0x0F; ch = super.Read(); - int c2 = ch & 0x3F; ch = super.Read(); - int c3 = ch & 0x3F; - ch = (((c1 << 6) | c2) << 6) | c3; - } else if ((ch & 0xC0) == 0xC0) { - // 110xxxxx 10xxxxxx - int c1 = ch & 0x1F; ch = super.Read(); - int c2 = ch & 0x3F; - ch = (c1 << 6) | c2; - } - return ch; - } -} - -//----------------------------------------------------------------------------------- -// StartStates -- maps characters to start states of tokens -//----------------------------------------------------------------------------------- -class StartStates { - private static class Elem { - public int key, val; - public Elem next; - public Elem(int key, int val) { this.key = key; this.val = val; } - } - - private Elem[] tab = new Elem[128]; - - public void set(int key, int val) { - Elem e = new Elem(key, val); - int k = key % 128; - e.next = tab[k]; tab[k] = e; - } - - public int state(int key) { - Elem e = tab[key % 128]; - while (e != null && e.key != key) e = e.next; - return e == null ? 0: e.val; - } -} - -//----------------------------------------------------------------------------------- -// Scanner -//----------------------------------------------------------------------------------- -public class Scanner { - static final char EOL = '\n'; - static final int eofSym = 0; --->declarations - - public Buffer buffer; // scanner buffer - - Token t; // current token - int ch; // current input character - int pos; // byte position of current character - int charPos; // position by unicode characters starting with 0 - int col; // column number of current character - int line; // line number of current character - int oldEols; // EOLs that appeared in a comment; - static final StartStates start; // maps initial token character to start state - static final Map literals; // maps literal strings to literal kinds - - Token tokens; // list of tokens already peeked (first token is a dummy) - Token pt; // current peek token - - char[] tval = new char[16]; // token text used in NextToken(), dynamically enlarged - int tlen; // length of current token - - - static { - start = new StartStates(); - literals = new HashMap(); --->initialization - } - - public Scanner (String fileName) { - buffer = new Buffer(fileName); - Init(); - } - - public Scanner(InputStream s) { - buffer = new Buffer(s); - Init(); - } - - void Init () { - pos = -1; line = 1; col = 0; charPos = -1; - oldEols = 0; - NextCh(); - if (ch == 0xEF) { // check optional byte order mark for UTF-8 - NextCh(); int ch1 = ch; - NextCh(); int ch2 = ch; - if (ch1 != 0xBB || ch2 != 0xBF) { - throw new FatalError("Illegal byte order mark at start of file"); - } - buffer = new UTF8Buffer(buffer); col = 0; charPos = -1; - NextCh(); - } - pt = tokens = new Token(); // first token is a dummy - } - - void NextCh() { - if (oldEols > 0) { ch = EOL; oldEols--; } - else { - pos = buffer.getPos(); - // buffer reads unicode chars, if UTF8 has been detected - ch = buffer.Read(); col++; charPos++; - // replace isolated '\r' by '\n' in order to make - // eol handling uniform across Windows, Unix and Mac - if (ch == '\r' && buffer.Peek() != '\n') ch = EOL; - if (ch == EOL) { line++; col = 0; } - } --->casing - } - - void AddCh() { - if (tlen >= tval.length) { - char[] newBuf = new char[2 * tval.length]; - System.arraycopy(tval, 0, newBuf, 0, tval.length); - tval = newBuf; - } - if (ch != Buffer.EOF) { --->casing2 - NextCh(); - } - - } - --->comments - - void CheckLiteral() { - String val = t.val; --->casing3 - Object kind = literals.get(val); - if (kind != null) { - t.kind = ((Integer) kind).intValue(); - } - } - - Token NextToken() { - while (ch == ' ' || --->scan1 - ) NextCh(); --->scan2 - int recKind = noSym; - int recEnd = pos; - t = new Token(); - t.pos = pos; t.col = col; t.line = line; t.charPos = charPos; - int state = start.state(ch); - tlen = 0; AddCh(); - - loop: for (;;) { - switch (state) { - case -1: { t.kind = eofSym; break loop; } // NextCh already done - case 0: { - if (recKind != noSym) { - tlen = recEnd - t.pos; - SetScannerBehindT(); - } - t.kind = recKind; break loop; - } // NextCh already done --->scan3 - } - } - t.val = new String(tval, 0, tlen); - return t; - } - - private void SetScannerBehindT() { - buffer.setPos(t.pos); - NextCh(); - line = t.line; col = t.col; charPos = t.charPos; - for (int i = 0; i < tlen; i++) NextCh(); - } - - // get the next token (possibly a token already seen during peeking) - public Token Scan () { - if (tokens.next == null) { - return NextToken(); - } else { - pt = tokens = tokens.next; - return tokens; - } - } - - // get the next token, ignore pragmas - public Token Peek () { - do { - if (pt.next == null) { - pt.next = NextToken(); - } - pt = pt.next; - } while (pt.kind > maxT); // skip pragmas - - return pt; - } - - // make sure that peeking starts at current scan position - public void ResetPeek () { pt = tokens; } - -} // end Scanner +/*------------------------------------------------------------------------- +Compiler Generator Coco/R, +Copyright (c) 1990, 2004 Hanspeter Moessenboeck, University of Linz +extended by M. Loeberbauer & A. Woess, Univ. of Linz +ported from C# to Java by Wolfgang Ahorner +with improvements by Pat Terry, Rhodes University + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +As an exception, it is allowed to write an extension of Coco/R that is +used as a plugin in non-free software. + +If not otherwise stated, any source code generated by Coco/R (other than +Coco/R itself) does not fall under the GNU General Public License. +------------------------------------------------------------------------*/ +-->begin +import java.io.InputStream; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.Map; +import java.util.HashMap; + +class Token { + public int kind; // token kind + public int pos; // token position in bytes in the source text (starting at 0) + public int charPos; // token position in characters in the source text (starting at 0) + public int col; // token column (starting at 1) + public int line; // token line (starting at 1) + public String val; // token value + public Token next; // ML 2005-03-11 Peek tokens are kept in linked list +} + +//----------------------------------------------------------------------------------- +// Buffer +//----------------------------------------------------------------------------------- +class Buffer { + // This Buffer supports the following cases: + // 1) seekable stream (file) + // a) whole stream in buffer + // b) part of stream in buffer + // 2) non seekable stream (network, console) + + public static final int EOF = Character.MAX_VALUE + 1; + private static final int MIN_BUFFER_LENGTH = 1024; // 1KB + private static final int MAX_BUFFER_LENGTH = MIN_BUFFER_LENGTH * 64; // 64KB + private byte[] buf; // input buffer + private int bufStart; // position of first byte in buffer relative to input stream + private int bufLen; // length of buffer + private int fileLen; // length of input stream (may change if stream is no file) + private int bufPos; // current position in buffer + private RandomAccessFile file; // input stream (seekable) + private InputStream stream; // growing input stream (e.g.: console, network) + + public Buffer(InputStream s) { + stream = s; + fileLen = bufLen = bufStart = bufPos = 0; + buf = new byte[MIN_BUFFER_LENGTH]; + } + + public Buffer(String fileName) { + try { + file = new RandomAccessFile(fileName, "r"); + fileLen = (int) file.length(); + bufLen = Math.min(fileLen, MAX_BUFFER_LENGTH); + buf = new byte[bufLen]; + bufStart = Integer.MAX_VALUE; // nothing in buffer so far + if (fileLen > 0) setPos(0); // setup buffer to position 0 (start) + else bufPos = 0; // index 0 is already after the file, thus setPos(0) is invalid + if (bufLen == fileLen) Close(); + } catch (IOException e) { + throw new FatalError("Could not open file " + fileName); + } + } + + // don't use b after this call anymore + // called in UTF8Buffer constructor + protected Buffer(Buffer b) { + buf = b.buf; + bufStart = b.bufStart; + bufLen = b.bufLen; + fileLen = b.fileLen; + bufPos = b.bufPos; + file = b.file; + stream = b.stream; + // keep finalize from closing the file + b.file = null; + } + + protected void Close() { + if (file != null) { + try { + file.close(); + file = null; + } catch (IOException e) { + throw new FatalError(e.getMessage()); + } + } + } + + public int Read() { + if (bufPos < bufLen) { + return buf[bufPos++] & 0xff; // mask out sign bits + } else if (getPos() < fileLen) { + setPos(getPos()); // shift buffer start to pos + return buf[bufPos++] & 0xff; // mask out sign bits + } else if (stream != null && ReadNextStreamChunk() > 0) { + return buf[bufPos++] & 0xff; // mask out sign bits + } else { + return EOF; + } + } + + public int Peek() { + int curPos = getPos(); + int ch = Read(); + setPos(curPos); + return ch; + } + + // beg .. begin, zero-based, inclusive, in byte + // end .. end, zero-based, exclusive, in byte + public String GetString(int beg, int end) { + int len = 0; + char[] buf = new char[end - beg]; + int oldPos = getPos(); + setPos(beg); + while (getPos() < end) buf[len++] = (char) Read(); + setPos(oldPos); + return new String(buf, 0, len); + } + + public int getPos() { + return bufPos + bufStart; + } + + public void setPos(int value) { + if (value >= fileLen && stream != null) { + // Wanted position is after buffer and the stream + // is not seek-able e.g. network or console, + // thus we have to read the stream manually till + // the wanted position is in sight. + while (value >= fileLen && ReadNextStreamChunk() > 0); + } + + if (value < 0 || value > fileLen) { + throw new FatalError("buffer out of bounds access, position: " + value); + } + + if (value >= bufStart && value < bufStart + bufLen) { // already in buffer + bufPos = value - bufStart; + } else if (file != null) { // must be swapped in + try { + file.seek(value); + bufLen = file.read(buf); + bufStart = value; bufPos = 0; + } catch(IOException e) { + throw new FatalError(e.getMessage()); + } + } else { + // set the position to the end of the file, Pos will return fileLen. + bufPos = fileLen - bufStart; + } + } + + // Read the next chunk of bytes from the stream, increases the buffer + // if needed and updates the fields fileLen and bufLen. + // Returns the number of bytes read. + private int ReadNextStreamChunk() { + int free = buf.length - bufLen; + if (free == 0) { + // in the case of a growing input stream + // we can neither seek in the stream, nor can we + // foresee the maximum length, thus we must adapt + // the buffer size on demand. + byte[] newBuf = new byte[bufLen * 2]; + System.arraycopy(buf, 0, newBuf, 0, bufLen); + buf = newBuf; + free = bufLen; + } + + int read; + try { read = stream.read(buf, bufLen, free); } + catch (IOException ioex) { throw new FatalError(ioex.getMessage()); } + + if (read > 0) { + fileLen = bufLen = (bufLen + read); + return read; + } + // end of stream reached + return 0; + } +} + +//----------------------------------------------------------------------------------- +// UTF8Buffer +//----------------------------------------------------------------------------------- +class UTF8Buffer extends Buffer { + UTF8Buffer(Buffer b) { super(b); } + + public int Read() { + int ch; + do { + ch = super.Read(); + // until we find a utf8 start (0xxxxxxx or 11xxxxxx) + } while ((ch >= 128) && ((ch & 0xC0) != 0xC0) && (ch != EOF)); + if (ch < 128 || ch == EOF) { + // nothing to do, first 127 chars are the same in ascii and utf8 + // 0xxxxxxx or end of file character + } else if ((ch & 0xF0) == 0xF0) { + // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + int c1 = ch & 0x07; ch = super.Read(); + int c2 = ch & 0x3F; ch = super.Read(); + int c3 = ch & 0x3F; ch = super.Read(); + int c4 = ch & 0x3F; + ch = (((((c1 << 6) | c2) << 6) | c3) << 6) | c4; + } else if ((ch & 0xE0) == 0xE0) { + // 1110xxxx 10xxxxxx 10xxxxxx + int c1 = ch & 0x0F; ch = super.Read(); + int c2 = ch & 0x3F; ch = super.Read(); + int c3 = ch & 0x3F; + ch = (((c1 << 6) | c2) << 6) | c3; + } else if ((ch & 0xC0) == 0xC0) { + // 110xxxxx 10xxxxxx + int c1 = ch & 0x1F; ch = super.Read(); + int c2 = ch & 0x3F; + ch = (c1 << 6) | c2; + } + return ch; + } +} + +//----------------------------------------------------------------------------------- +// StartStates -- maps characters to start states of tokens +//----------------------------------------------------------------------------------- +class StartStates { + private static class Elem { + public int key, val; + public Elem next; + public Elem(int key, int val) { this.key = key; this.val = val; } + } + + private Elem[] tab = new Elem[128]; + + public void set(int key, int val) { + Elem e = new Elem(key, val); + int k = key % 128; + e.next = tab[k]; tab[k] = e; + } + + public int state(int key) { + Elem e = tab[key % 128]; + while (e != null && e.key != key) e = e.next; + return e == null ? 0: e.val; + } +} + +//----------------------------------------------------------------------------------- +// Scanner +//----------------------------------------------------------------------------------- +public class Scanner { + static final char EOL = '\n'; + static final int eofSym = 0; +-->declarations + + public Buffer buffer; // scanner buffer + + Token t; // current token + int ch; // current input character + int pos; // byte position of current character + int charPos; // position by unicode characters starting with 0 + int col; // column number of current character + int line; // line number of current character + int oldEols; // EOLs that appeared in a comment; + static final StartStates start; // maps initial token character to start state + static final Map literals; // maps literal strings to literal kinds + + Token tokens; // list of tokens already peeked (first token is a dummy) + Token pt; // current peek token + + char[] tval = new char[16]; // token text used in NextToken(), dynamically enlarged + int tlen; // length of current token + + + static { + start = new StartStates(); + literals = new HashMap(); +-->initialization + } + + public Scanner (String fileName) { + buffer = new Buffer(fileName); + Init(); + } + + public Scanner(InputStream s) { + buffer = new Buffer(s); + Init(); + } + + void Init () { + pos = -1; line = 1; col = 0; charPos = -1; + oldEols = 0; + NextCh(); + if (ch == 0xEF) { // check optional byte order mark for UTF-8 + NextCh(); int ch1 = ch; + NextCh(); int ch2 = ch; + if (ch1 != 0xBB || ch2 != 0xBF) { + throw new FatalError("Illegal byte order mark at start of file"); + } + buffer = new UTF8Buffer(buffer); col = 0; charPos = -1; + NextCh(); + } + pt = tokens = new Token(); // first token is a dummy + } + + void NextCh() { + if (oldEols > 0) { ch = EOL; oldEols--; } + else { + pos = buffer.getPos(); + // buffer reads unicode chars, if UTF8 has been detected + ch = buffer.Read(); col++; charPos++; + // replace isolated '\r' by '\n' in order to make + // eol handling uniform across Windows, Unix and Mac + if (ch == '\r' && buffer.Peek() != '\n') ch = EOL; + if (ch == EOL) { line++; col = 0; } + } +-->casing + } + + void AddCh() { + if (tlen >= tval.length) { + char[] newBuf = new char[2 * tval.length]; + System.arraycopy(tval, 0, newBuf, 0, tval.length); + tval = newBuf; + } + if (ch != Buffer.EOF) { +-->casing2 + NextCh(); + } + + } + +-->comments + + void CheckLiteral() { + String val = t.val; +-->casing3 + Object kind = literals.get(val); + if (kind != null) { + t.kind = ((Integer) kind).intValue(); + } + } + + Token NextToken() { + while (ch == ' ' || +-->scan1 + ) NextCh(); +-->scan2 + int recKind = noSym; + int recEnd = pos; + t = new Token(); + t.pos = pos; t.col = col; t.line = line; t.charPos = charPos; + int state = start.state(ch); + tlen = 0; AddCh(); + + loop: for (;;) { + switch (state) { + case -1: { t.kind = eofSym; break loop; } // NextCh already done + case 0: { + if (recKind != noSym) { + tlen = recEnd - t.pos; + SetScannerBehindT(); + } + t.kind = recKind; break loop; + } // NextCh already done +-->scan3 + } + } + t.val = new String(tval, 0, tlen); + return t; + } + + private void SetScannerBehindT() { + buffer.setPos(t.pos); + NextCh(); + line = t.line; col = t.col; charPos = t.charPos; + for (int i = 0; i < tlen; i++) NextCh(); + } + + // get the next token (possibly a token already seen during peeking) + public Token Scan () { + if (tokens.next == null) { + return NextToken(); + } else { + pt = tokens = tokens.next; + return tokens; + } + } + + // get the next token, ignore pragmas + public Token Peek () { + do { + if (pt.next == null) { + pt.next = NextToken(); + } + pt = pt.next; + } while (pt.kind > maxT); // skip pragmas + + return pt; + } + + // make sure that peeking starts at current scan position + public void ResetPeek () { pt = tokens; } + +} // end Scanner diff --git a/vadl/main/vadl/ast/Statement.java b/vadl-frontend/main/vadl/ast/Statement.java similarity index 99% rename from vadl/main/vadl/ast/Statement.java rename to vadl-frontend/main/vadl/ast/Statement.java index 7b7e1d909..7ba2faf49 100644 --- a/vadl/main/vadl/ast/Statement.java +++ b/vadl-frontend/main/vadl/ast/Statement.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/StringLiteralParser.java b/vadl-frontend/main/vadl/ast/StringLiteralParser.java similarity index 95% rename from vadl/main/vadl/ast/StringLiteralParser.java rename to vadl-frontend/main/vadl/ast/StringLiteralParser.java index 523b24035..726548b6c 100644 --- a/vadl/main/vadl/ast/StringLiteralParser.java +++ b/vadl-frontend/main/vadl/ast/StringLiteralParser.java @@ -1,76 +1,76 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien -// SPDX-License-Identifier: GPL-3.0-or-later -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -package vadl.ast; - -/** - * Parses any valid VADL string literal into the represented {@link java.lang.String} value. - * An escape sequence starts with a backslash, followed by one or more characters. - * Supported escape sequences are: - *

      - *
    • \ - Resolves to a single backslash
    • - *
    • " - Resolves to a double quote
    • - *
    • ' - Resolves to a single quote
    • - *
    • b - Resolves to a backspace character
    • - *
    • t - Resolves to a tab character
    • - *
    • r - Resolves to a carriage return character
    • - *
    • n - Resolves to a newline character
    • - *
    • f - Resolves to a form feed character
    • - *
    • uXXXX where XXXX is a four-digit hex unicode codepoint
    • - *
    - * - */ -class StringLiteralParser { - - static String parseString(String token) { - final StringBuilder str = new StringBuilder(); - for (int i = 0; i < token.length(); i++) { - char c = token.charAt(i); - if (c == '\\') { - if (i == token.length() - 1) { - throw new IllegalArgumentException("Invalid escape sequence: \\ at end of string"); - } - switch (token.charAt(++i)) { - case 'b' -> str.append('\b'); - case 't' -> str.append('\t'); - case 'n' -> str.append('\n'); - case 'f' -> str.append('\f'); - case 'r' -> str.append('\r'); - case '"' -> str.append('"'); - case '\'' -> str.append('\''); - case '\\' -> str.append('\\'); - case 'u' -> { - str.append(parseUnicodeSequence(token, ++i)); - i += 3; - } - default -> - throw new IllegalArgumentException("Invalid escape sequence: \\" + token.charAt(i)); - } - } else { - str.append(c); - } - } - return str.toString(); - } - - private static String parseUnicodeSequence(String token, int i) { - if (token.length() < i + 4) { - throw new IllegalArgumentException("Invalid unicode escape sequence found in " + token); - } - int codePoint = Integer.parseInt(token.substring(i, i + 4), 16); - return Character.toString(codePoint); - } -} +// SPDX-FileCopyrightText : © 2025-2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.ast; + +/** + * Parses any valid VADL string literal into the represented {@link java.lang.String} value. + * An escape sequence starts with a backslash, followed by one or more characters. + * Supported escape sequences are: + *
      + *
    • \ - Resolves to a single backslash
    • + *
    • " - Resolves to a double quote
    • + *
    • ' - Resolves to a single quote
    • + *
    • b - Resolves to a backspace character
    • + *
    • t - Resolves to a tab character
    • + *
    • r - Resolves to a carriage return character
    • + *
    • n - Resolves to a newline character
    • + *
    • f - Resolves to a form feed character
    • + *
    • uXXXX where XXXX is a four-digit hex unicode codepoint
    • + *
    + * + */ +class StringLiteralParser { + + static String parseString(String token) { + final StringBuilder str = new StringBuilder(); + for (int i = 0; i < token.length(); i++) { + char c = token.charAt(i); + if (c == '\\') { + if (i == token.length() - 1) { + throw new IllegalArgumentException("Invalid escape sequence: \\ at end of string"); + } + switch (token.charAt(++i)) { + case 'b' -> str.append('\b'); + case 't' -> str.append('\t'); + case 'n' -> str.append('\n'); + case 'f' -> str.append('\f'); + case 'r' -> str.append('\r'); + case '"' -> str.append('"'); + case '\'' -> str.append('\''); + case '\\' -> str.append('\\'); + case 'u' -> { + str.append(parseUnicodeSequence(token, ++i)); + i += 3; + } + default -> + throw new IllegalArgumentException("Invalid escape sequence: \\" + token.charAt(i)); + } + } else { + str.append(c); + } + } + return str.toString(); + } + + private static String parseUnicodeSequence(String token, int i) { + if (token.length() < i + 4) { + throw new IllegalArgumentException("Invalid unicode escape sequence found in " + token); + } + int codePoint = Integer.parseInt(token.substring(i, i + 4), 16); + return Character.toString(codePoint); + } +} diff --git a/vadl/main/vadl/ast/SymbolTable.java b/vadl-frontend/main/vadl/ast/SymbolTable.java similarity index 100% rename from vadl/main/vadl/ast/SymbolTable.java rename to vadl-frontend/main/vadl/ast/SymbolTable.java diff --git a/vadl/main/vadl/ast/SyntaxType.java b/vadl-frontend/main/vadl/ast/SyntaxType.java similarity index 99% rename from vadl/main/vadl/ast/SyntaxType.java rename to vadl-frontend/main/vadl/ast/SyntaxType.java index 4875aba57..916d8144f 100644 --- a/vadl/main/vadl/ast/SyntaxType.java +++ b/vadl-frontend/main/vadl/ast/SyntaxType.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/TensorType.java b/vadl-frontend/main/vadl/ast/TensorType.java similarity index 98% rename from vadl/main/vadl/ast/TensorType.java rename to vadl-frontend/main/vadl/ast/TensorType.java index 03bbb171c..7cb2d279e 100644 --- a/vadl/main/vadl/ast/TensorType.java +++ b/vadl-frontend/main/vadl/ast/TensorType.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/ast/TypeChecker.java b/vadl-frontend/main/vadl/ast/TypeChecker.java similarity index 100% rename from vadl/main/vadl/ast/TypeChecker.java rename to vadl-frontend/main/vadl/ast/TypeChecker.java diff --git a/vadl/main/vadl/ast/Ungrouper.java b/vadl-frontend/main/vadl/ast/Ungrouper.java similarity index 100% rename from vadl/main/vadl/ast/Ungrouper.java rename to vadl-frontend/main/vadl/ast/Ungrouper.java diff --git a/vadl/main/vadl/ast/VadlParser.java b/vadl-frontend/main/vadl/ast/VadlParser.java similarity index 100% rename from vadl/main/vadl/ast/VadlParser.java rename to vadl-frontend/main/vadl/ast/VadlParser.java diff --git a/vadl/main/vadl/ast/ViamLowering.java b/vadl-frontend/main/vadl/ast/ViamLowering.java similarity index 100% rename from vadl/main/vadl/ast/ViamLowering.java rename to vadl-frontend/main/vadl/ast/ViamLowering.java diff --git a/vadl/main/vadl/ast/vadl.ATG b/vadl-frontend/main/vadl/ast/vadl.ATG similarity index 100% rename from vadl/main/vadl/ast/vadl.ATG rename to vadl-frontend/main/vadl/ast/vadl.ATG diff --git a/vadl-iss/build.gradle.kts b/vadl-iss/build.gradle.kts new file mode 100644 index 000000000..412fb9a85 --- /dev/null +++ b/vadl-iss/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + id("conventions-jvm") + alias(libs.plugins.kotlin.jvm) +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(project(":vadl-core")) + implementation(project(":vadl-pass-api")) + implementation(project(":vadl-vdt")) + implementation(libs.guava) + implementation(libs.commons.io) + implementation(kotlin("stdlib-jdk8")) +} diff --git a/vadl-iss/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider b/vadl-iss/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider new file mode 100644 index 000000000..5657b908a --- /dev/null +++ b/vadl-iss/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider @@ -0,0 +1 @@ +vadl.dump.IssHtmlDumpExtensionProvider diff --git a/vadl-iss/main/resources/templates/common b/vadl-iss/main/resources/templates/common new file mode 120000 index 000000000..a76c45804 --- /dev/null +++ b/vadl-iss/main/resources/templates/common @@ -0,0 +1 @@ +../../../../vadl-pass-api/main/resources/templates/common \ No newline at end of file diff --git a/vadl/main/resources/templates/iss/configs/devices/gen-arch-softmmu/default.mak b/vadl-iss/main/resources/templates/iss/configs/devices/gen-arch-softmmu/default.mak similarity index 100% rename from vadl/main/resources/templates/iss/configs/devices/gen-arch-softmmu/default.mak rename to vadl-iss/main/resources/templates/iss/configs/devices/gen-arch-softmmu/default.mak diff --git a/vadl/main/resources/templates/iss/configs/targets/gen-arch-linux-user.mak b/vadl-iss/main/resources/templates/iss/configs/targets/gen-arch-linux-user.mak similarity index 100% rename from vadl/main/resources/templates/iss/configs/targets/gen-arch-linux-user.mak rename to vadl-iss/main/resources/templates/iss/configs/targets/gen-arch-linux-user.mak diff --git a/vadl/main/resources/templates/iss/configs/targets/gen-arch-softmmu.mak b/vadl-iss/main/resources/templates/iss/configs/targets/gen-arch-softmmu.mak similarity index 100% rename from vadl/main/resources/templates/iss/configs/targets/gen-arch-softmmu.mak rename to vadl-iss/main/resources/templates/iss/configs/targets/gen-arch-softmmu.mak diff --git a/vadl/main/resources/templates/iss/contrib/plugins/cosimulation.c b/vadl-iss/main/resources/templates/iss/contrib/plugins/cosimulation.c similarity index 100% rename from vadl/main/resources/templates/iss/contrib/plugins/cosimulation.c rename to vadl-iss/main/resources/templates/iss/contrib/plugins/cosimulation.c diff --git a/vadl/main/resources/templates/iss/contrib/plugins/meson.build b/vadl-iss/main/resources/templates/iss/contrib/plugins/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/contrib/plugins/meson.build rename to vadl-iss/main/resources/templates/iss/contrib/plugins/meson.build diff --git a/vadl/main/resources/templates/iss/gdb-xml/gen-arch-cpu.xml b/vadl-iss/main/resources/templates/iss/gdb-xml/gen-arch-cpu.xml similarity index 100% rename from vadl/main/resources/templates/iss/gdb-xml/gen-arch-cpu.xml rename to vadl-iss/main/resources/templates/iss/gdb-xml/gen-arch-cpu.xml diff --git a/vadl/main/resources/templates/iss/hw/Kconfig b/vadl-iss/main/resources/templates/iss/hw/Kconfig similarity index 100% rename from vadl/main/resources/templates/iss/hw/Kconfig rename to vadl-iss/main/resources/templates/iss/hw/Kconfig diff --git a/vadl/main/resources/templates/iss/hw/gen-arch/Kconfig b/vadl-iss/main/resources/templates/iss/hw/gen-arch/Kconfig similarity index 100% rename from vadl/main/resources/templates/iss/hw/gen-arch/Kconfig rename to vadl-iss/main/resources/templates/iss/hw/gen-arch/Kconfig diff --git a/vadl/main/resources/templates/iss/hw/gen-arch/boot.c b/vadl-iss/main/resources/templates/iss/hw/gen-arch/boot.c similarity index 100% rename from vadl/main/resources/templates/iss/hw/gen-arch/boot.c rename to vadl-iss/main/resources/templates/iss/hw/gen-arch/boot.c diff --git a/vadl/main/resources/templates/iss/hw/gen-arch/boot.h b/vadl-iss/main/resources/templates/iss/hw/gen-arch/boot.h similarity index 100% rename from vadl/main/resources/templates/iss/hw/gen-arch/boot.h rename to vadl-iss/main/resources/templates/iss/hw/gen-arch/boot.h diff --git a/vadl/main/resources/templates/iss/hw/gen-arch/gen-machine.c b/vadl-iss/main/resources/templates/iss/hw/gen-arch/gen-machine.c similarity index 100% rename from vadl/main/resources/templates/iss/hw/gen-arch/gen-machine.c rename to vadl-iss/main/resources/templates/iss/hw/gen-arch/gen-machine.c diff --git a/vadl/main/resources/templates/iss/hw/gen-arch/gen-machine.h b/vadl-iss/main/resources/templates/iss/hw/gen-arch/gen-machine.h similarity index 100% rename from vadl/main/resources/templates/iss/hw/gen-arch/gen-machine.h rename to vadl-iss/main/resources/templates/iss/hw/gen-arch/gen-machine.h diff --git a/vadl/main/resources/templates/iss/hw/gen-arch/meson.build b/vadl-iss/main/resources/templates/iss/hw/gen-arch/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/hw/gen-arch/meson.build rename to vadl-iss/main/resources/templates/iss/hw/gen-arch/meson.build diff --git a/vadl/main/resources/templates/iss/hw/meson.build b/vadl-iss/main/resources/templates/iss/hw/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/hw/meson.build rename to vadl-iss/main/resources/templates/iss/hw/meson.build diff --git a/vadl/main/resources/templates/iss/include/disas/dis-asm.h b/vadl-iss/main/resources/templates/iss/include/disas/dis-asm.h similarity index 100% rename from vadl/main/resources/templates/iss/include/disas/dis-asm.h rename to vadl-iss/main/resources/templates/iss/include/disas/dis-asm.h diff --git a/vadl/main/resources/templates/iss/include/sysemu/arch_init.h b/vadl-iss/main/resources/templates/iss/include/sysemu/arch_init.h similarity index 100% rename from vadl/main/resources/templates/iss/include/sysemu/arch_init.h rename to vadl-iss/main/resources/templates/iss/include/sysemu/arch_init.h diff --git a/vadl/main/resources/templates/iss/include/vadl-builtins.h b/vadl-iss/main/resources/templates/iss/include/vadl-builtins.h similarity index 100% rename from vadl/main/resources/templates/iss/include/vadl-builtins.h rename to vadl-iss/main/resources/templates/iss/include/vadl-builtins.h diff --git a/vadl/main/resources/templates/iss/include/vadl-iss-builtins.h b/vadl-iss/main/resources/templates/iss/include/vadl-iss-builtins.h similarity index 100% rename from vadl/main/resources/templates/iss/include/vadl-iss-builtins.h rename to vadl-iss/main/resources/templates/iss/include/vadl-iss-builtins.h diff --git a/vadl/main/resources/templates/iss/linux-user/elfload.c b/vadl-iss/main/resources/templates/iss/linux-user/elfload.c similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/elfload.c rename to vadl-iss/main/resources/templates/iss/linux-user/elfload.c diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/cpu_loop.c b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/cpu_loop.c similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/cpu_loop.c rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/cpu_loop.c diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/meson.build b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/meson.build rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/meson.build diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/signal.c b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/signal.c similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/signal.c rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/signal.c diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/sockbits.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/sockbits.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/sockbits.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/sockbits.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/syscall.tbl b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/syscall.tbl similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/syscall.tbl rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/syscall.tbl diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/syscallhdr.sh b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/syscallhdr.sh similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/syscallhdr.sh rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/syscallhdr.sh diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_cpu.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_cpu.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_cpu.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_cpu.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_elf.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_elf.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_elf.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_elf.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_errno_defs.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_errno_defs.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_errno_defs.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_errno_defs.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_fcntl.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_fcntl.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_fcntl.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_fcntl.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_mman.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_mman.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_mman.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_mman.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_prctl.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_prctl.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_prctl.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_prctl.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_proc.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_proc.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_proc.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_proc.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_resource.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_resource.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_resource.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_resource.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_signal.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_signal.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_signal.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_signal.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_structs.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_structs.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_structs.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_structs.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/target_syscall.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_syscall.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/target_syscall.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/target_syscall.h diff --git a/vadl/main/resources/templates/iss/linux-user/gen-arch/termbits.h b/vadl-iss/main/resources/templates/iss/linux-user/gen-arch/termbits.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/gen-arch/termbits.h rename to vadl-iss/main/resources/templates/iss/linux-user/gen-arch/termbits.h diff --git a/vadl/main/resources/templates/iss/linux-user/meson.build b/vadl-iss/main/resources/templates/iss/linux-user/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/meson.build rename to vadl-iss/main/resources/templates/iss/linux-user/meson.build diff --git a/vadl/main/resources/templates/iss/linux-user/syscall_defs.h b/vadl-iss/main/resources/templates/iss/linux-user/syscall_defs.h similarity index 100% rename from vadl/main/resources/templates/iss/linux-user/syscall_defs.h rename to vadl-iss/main/resources/templates/iss/linux-user/syscall_defs.h diff --git a/vadl/main/resources/templates/iss/meson.build b/vadl-iss/main/resources/templates/iss/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/meson.build rename to vadl-iss/main/resources/templates/iss/meson.build diff --git a/vadl/main/resources/templates/iss/target/Kconfig b/vadl-iss/main/resources/templates/iss/target/Kconfig similarity index 100% rename from vadl/main/resources/templates/iss/target/Kconfig rename to vadl-iss/main/resources/templates/iss/target/Kconfig diff --git a/vadl/main/resources/templates/iss/target/gen-arch/Kconfig b/vadl-iss/main/resources/templates/iss/target/gen-arch/Kconfig similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/Kconfig rename to vadl-iss/main/resources/templates/iss/target/gen-arch/Kconfig diff --git a/vadl/main/resources/templates/iss/target/gen-arch/cpu-bits.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/cpu-bits.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/cpu-bits.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/cpu-bits.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/cpu-param.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/cpu-param.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/cpu-param.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/cpu-param.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/cpu-qom.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/cpu-qom.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/cpu-qom.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/cpu-qom.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/cpu.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/cpu.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/cpu.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/cpu.c diff --git a/vadl/main/resources/templates/iss/target/gen-arch/cpu.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/cpu.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/cpu.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/cpu.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/do_exception.c.inc b/vadl-iss/main/resources/templates/iss/target/gen-arch/do_exception.c.inc similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/do_exception.c.inc rename to vadl-iss/main/resources/templates/iss/target/gen-arch/do_exception.c.inc diff --git a/vadl/main/resources/templates/iss/target/gen-arch/gdbstub.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/gdbstub.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/gdbstub.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/gdbstub.c diff --git a/vadl/main/resources/templates/iss/target/gen-arch/helper.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/helper.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/helper.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/helper.c diff --git a/vadl/main/resources/templates/iss/target/gen-arch/helper.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/helper.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/helper.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/helper.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/insn-access.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/insn-access.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/insn-access.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/insn-access.c diff --git a/vadl/main/resources/templates/iss/target/gen-arch/insn-access.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/insn-access.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/insn-access.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/insn-access.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/insn.decode b/vadl-iss/main/resources/templates/iss/target/gen-arch/insn.decode similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/insn.decode rename to vadl-iss/main/resources/templates/iss/target/gen-arch/insn.decode diff --git a/vadl/main/resources/templates/iss/target/gen-arch/insn_trans/trans_isa.c.inc b/vadl-iss/main/resources/templates/iss/target/gen-arch/insn_trans/trans_isa.c.inc similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/insn_trans/trans_isa.c.inc rename to vadl-iss/main/resources/templates/iss/target/gen-arch/insn_trans/trans_isa.c.inc diff --git a/vadl/main/resources/templates/iss/target/gen-arch/machine.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/machine.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/machine.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/machine.c diff --git a/vadl/main/resources/templates/iss/target/gen-arch/meson.build b/vadl-iss/main/resources/templates/iss/target/gen-arch/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/meson.build rename to vadl-iss/main/resources/templates/iss/target/gen-arch/meson.build diff --git a/vadl/main/resources/templates/iss/target/gen-arch/trace-events b/vadl-iss/main/resources/templates/iss/target/gen-arch/trace-events similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/trace-events rename to vadl-iss/main/resources/templates/iss/target/gen-arch/trace-events diff --git a/vadl/main/resources/templates/iss/target/gen-arch/trace.h b/vadl-iss/main/resources/templates/iss/target/gen-arch/trace.h similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/trace.h rename to vadl-iss/main/resources/templates/iss/target/gen-arch/trace.h diff --git a/vadl/main/resources/templates/iss/target/gen-arch/translate.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/translate.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/translate.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/translate.c diff --git a/vadl/main/resources/templates/iss/target/gen-arch/vdt-decode.c b/vadl-iss/main/resources/templates/iss/target/gen-arch/vdt-decode.c similarity index 100% rename from vadl/main/resources/templates/iss/target/gen-arch/vdt-decode.c rename to vadl-iss/main/resources/templates/iss/target/gen-arch/vdt-decode.c diff --git a/vadl/main/resources/templates/iss/target/meson.build b/vadl-iss/main/resources/templates/iss/target/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/target/meson.build rename to vadl-iss/main/resources/templates/iss/target/meson.build diff --git a/vadl/main/resources/templates/iss/tests/tcg/plugins/endstate.c b/vadl-iss/main/resources/templates/iss/tests/tcg/plugins/endstate.c similarity index 100% rename from vadl/main/resources/templates/iss/tests/tcg/plugins/endstate.c rename to vadl-iss/main/resources/templates/iss/tests/tcg/plugins/endstate.c diff --git a/vadl/main/resources/templates/iss/tests/tcg/plugins/meson.build b/vadl-iss/main/resources/templates/iss/tests/tcg/plugins/meson.build similarity index 100% rename from vadl/main/resources/templates/iss/tests/tcg/plugins/meson.build rename to vadl-iss/main/resources/templates/iss/tests/tcg/plugins/meson.build diff --git a/vadl/main/vadl/configuration/IssConfiguration.java b/vadl-iss/main/vadl/configuration/IssConfiguration.java similarity index 100% rename from vadl/main/vadl/configuration/IssConfiguration.java rename to vadl-iss/main/vadl/configuration/IssConfiguration.java diff --git a/vadl/main/vadl/dump/DumpIssInstructionGraphsPass.java b/vadl-iss/main/vadl/dump/DumpIssInstructionGraphsPass.java similarity index 100% rename from vadl/main/vadl/dump/DumpIssInstructionGraphsPass.java rename to vadl-iss/main/vadl/dump/DumpIssInstructionGraphsPass.java diff --git a/vadl-iss/main/vadl/dump/IssHtmlDumpExtensionProvider.java b/vadl-iss/main/vadl/dump/IssHtmlDumpExtensionProvider.java new file mode 100644 index 000000000..988ea69d1 --- /dev/null +++ b/vadl-iss/main/vadl/dump/IssHtmlDumpExtensionProvider.java @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.util.List; +import vadl.dump.infoEnrichers.IssEnricherCollection; + +/** + * Registers ISS-specific HTML dump extensions. + */ +public class IssHtmlDumpExtensionProvider implements HtmlDumpExtensionProvider { + + @Override + public int priority() { + return 175; + } + + @Override + public void addInfoEnrichers(List enrichers) { + enrichers.addAll(IssEnricherCollection.all); + } +} diff --git a/vadl/main/vadl/dump/infoEnrichers/IssEnricherCollection.java b/vadl-iss/main/vadl/dump/infoEnrichers/IssEnricherCollection.java similarity index 100% rename from vadl/main/vadl/dump/infoEnrichers/IssEnricherCollection.java rename to vadl-iss/main/vadl/dump/infoEnrichers/IssEnricherCollection.java diff --git a/vadl/main/vadl/iss/DataFlowAnalysis.java b/vadl-iss/main/vadl/iss/DataFlowAnalysis.java similarity index 100% rename from vadl/main/vadl/iss/DataFlowAnalysis.java rename to vadl-iss/main/vadl/iss/DataFlowAnalysis.java diff --git a/vadl/main/vadl/iss/IssUtils.java b/vadl-iss/main/vadl/iss/IssUtils.java similarity index 100% rename from vadl/main/vadl/iss/IssUtils.java rename to vadl-iss/main/vadl/iss/IssUtils.java diff --git a/vadl/main/vadl/iss/codegen/HelperParamPacking.java b/vadl-iss/main/vadl/iss/codegen/HelperParamPacking.java similarity index 100% rename from vadl/main/vadl/iss/codegen/HelperParamPacking.java rename to vadl-iss/main/vadl/iss/codegen/HelperParamPacking.java diff --git a/vadl/main/vadl/iss/codegen/IssCMixins.java b/vadl-iss/main/vadl/iss/codegen/IssCMixins.java similarity index 100% rename from vadl/main/vadl/iss/codegen/IssCMixins.java rename to vadl-iss/main/vadl/iss/codegen/IssCMixins.java diff --git a/vadl/main/vadl/iss/codegen/IssCpuFunctionGenerator.java b/vadl-iss/main/vadl/iss/codegen/IssCpuFunctionGenerator.java similarity index 100% rename from vadl/main/vadl/iss/codegen/IssCpuFunctionGenerator.java rename to vadl-iss/main/vadl/iss/codegen/IssCpuFunctionGenerator.java diff --git a/vadl/main/vadl/iss/codegen/IssExceptionHandlingCodeGenerator.java b/vadl-iss/main/vadl/iss/codegen/IssExceptionHandlingCodeGenerator.java similarity index 98% rename from vadl/main/vadl/iss/codegen/IssExceptionHandlingCodeGenerator.java rename to vadl-iss/main/vadl/iss/codegen/IssExceptionHandlingCodeGenerator.java index d2e81249b..c59ccde95 100644 --- a/vadl/main/vadl/iss/codegen/IssExceptionHandlingCodeGenerator.java +++ b/vadl-iss/main/vadl/iss/codegen/IssExceptionHandlingCodeGenerator.java @@ -23,11 +23,11 @@ import vadl.iss.passes.extensions.ExceptionInfo; import vadl.iss.passes.extensions.IssAccessorRegistry; import vadl.viam.graph.Node; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.StartNode; import vadl.viam.graph.dependency.FuncParamNode; import vadl.viam.graph.dependency.ReadRegTensorNode; import vadl.viam.graph.dependency.WriteRegTensorNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * Generates the exception handling functions in {@code /target/gen-arch/do_exception.c.inc} diff --git a/vadl/main/vadl/iss/codegen/IssInstrHelperGenerator.java b/vadl-iss/main/vadl/iss/codegen/IssInstrHelperGenerator.java similarity index 99% rename from vadl/main/vadl/iss/codegen/IssInstrHelperGenerator.java rename to vadl-iss/main/vadl/iss/codegen/IssInstrHelperGenerator.java index 83af6e81f..2d83d2d87 100644 --- a/vadl/main/vadl/iss/codegen/IssInstrHelperGenerator.java +++ b/vadl-iss/main/vadl/iss/codegen/IssInstrHelperGenerator.java @@ -32,6 +32,7 @@ import vadl.javaannotations.Handler; import vadl.viam.Instruction; import vadl.viam.graph.Node; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.StartNode; import vadl.viam.graph.dependency.FieldAccessRefNode; import vadl.viam.graph.dependency.FieldRefNode; @@ -41,7 +42,6 @@ import vadl.viam.graph.dependency.ReadRegTensorNode; import vadl.viam.graph.dependency.WriteMemNode; import vadl.viam.graph.dependency.WriteRegTensorNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * Generates helper function implementations for instructions in {@code target/gen-arch/helper.c}. diff --git a/vadl/main/vadl/iss/codegen/IssMemoryRegionInitCodeGen.java b/vadl-iss/main/vadl/iss/codegen/IssMemoryRegionInitCodeGen.java similarity index 100% rename from vadl/main/vadl/iss/codegen/IssMemoryRegionInitCodeGen.java rename to vadl-iss/main/vadl/iss/codegen/IssMemoryRegionInitCodeGen.java diff --git a/vadl/main/vadl/iss/codegen/IssProcGen.java b/vadl-iss/main/vadl/iss/codegen/IssProcGen.java similarity index 98% rename from vadl/main/vadl/iss/codegen/IssProcGen.java rename to vadl-iss/main/vadl/iss/codegen/IssProcGen.java index edc322fd7..f8f2df2e7 100644 --- a/vadl/main/vadl/iss/codegen/IssProcGen.java +++ b/vadl-iss/main/vadl/iss/codegen/IssProcGen.java @@ -30,12 +30,12 @@ import vadl.viam.graph.Graph; import vadl.viam.graph.Node; import vadl.viam.graph.control.InstrCallNode; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.dependency.AsmBuiltInCall; import vadl.viam.graph.dependency.FieldAccessRefNode; import vadl.viam.graph.dependency.FieldRefNode; import vadl.viam.graph.dependency.FoldNode; import vadl.viam.graph.dependency.ReadRegTensorNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * A node dispatcher for procedure c code rendering in the ISS. diff --git a/vadl/main/vadl/iss/codegen/IssResetGen.java b/vadl-iss/main/vadl/iss/codegen/IssResetGen.java similarity index 97% rename from vadl/main/vadl/iss/codegen/IssResetGen.java rename to vadl-iss/main/vadl/iss/codegen/IssResetGen.java index 4f5f9668e..12ca94076 100644 --- a/vadl/main/vadl/iss/codegen/IssResetGen.java +++ b/vadl-iss/main/vadl/iss/codegen/IssResetGen.java @@ -22,10 +22,10 @@ import vadl.iss.passes.extensions.IssAccessorRegistry; import vadl.viam.Procedure; import vadl.viam.graph.Node; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.StartNode; import vadl.viam.graph.dependency.ReadRegTensorNode; import vadl.viam.graph.dependency.WriteRegTensorNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * Generates the code for the {@link vadl.viam.Processor#reset()} definition. diff --git a/vadl/main/vadl/iss/codegen/IssTranslateCodeGenerator.java b/vadl-iss/main/vadl/iss/codegen/IssTranslateCodeGenerator.java similarity index 95% rename from vadl/main/vadl/iss/codegen/IssTranslateCodeGenerator.java rename to vadl-iss/main/vadl/iss/codegen/IssTranslateCodeGenerator.java index 8a5d4e391..cf921a28b 100644 --- a/vadl/main/vadl/iss/codegen/IssTranslateCodeGenerator.java +++ b/vadl-iss/main/vadl/iss/codegen/IssTranslateCodeGenerator.java @@ -29,8 +29,12 @@ import vadl.cppCodeGen.mixins.CDefaultMixins; import vadl.cppCodeGen.mixins.CInvalidMixins; import vadl.iss.passes.extensions.InstrInfo; +import vadl.iss.passes.nodes.IssLoadNode; +import vadl.iss.passes.nodes.IssReadRegNode; import vadl.iss.passes.nodes.IssRegBitfieldWriteNode; import vadl.iss.passes.nodes.IssStaticPcRegNode; +import vadl.iss.passes.nodes.IssStoreNode; +import vadl.iss.passes.nodes.IssWriteRegNode; import vadl.iss.passes.nodes.TcgVRefNode; import vadl.iss.passes.tcgLowering.nodes.TcgNode; import vadl.javaannotations.DispatchFor; @@ -224,6 +228,26 @@ void handle(CGenContext ctx, FoldNode toHandle) { void handle(CGenContext ctx, IssRegBitfieldWriteNode toHandle) { throwNotAllowed(toHandle, "bitfield register writes should be lowered to TCG before codegen"); } + + @Handler + void handle(CGenContext ctx, IssReadRegNode toHandle) { + throwNotAllowed(toHandle, "Register reads"); + } + + @Handler + void handle(CGenContext ctx, IssWriteRegNode toHandle) { + throwNotAllowed(toHandle, "Register writes"); + } + + @Handler + void handle(CGenContext ctx, IssLoadNode toHandle) { + throwNotAllowed(toHandle, "Memory reads"); + } + + @Handler + void handle(CGenContext ctx, IssStoreNode toHandle) { + throwNotAllowed(toHandle, "Memory writes"); + } } /// diff --git a/vadl/main/vadl/iss/codegen/QemuClangFormatter.java b/vadl-iss/main/vadl/iss/codegen/QemuClangFormatter.java similarity index 100% rename from vadl/main/vadl/iss/codegen/QemuClangFormatter.java rename to vadl-iss/main/vadl/iss/codegen/QemuClangFormatter.java diff --git a/vadl/main/vadl/iss/codegen/RegisterAccessEmitters.java b/vadl-iss/main/vadl/iss/codegen/RegisterAccessEmitters.java similarity index 100% rename from vadl/main/vadl/iss/codegen/RegisterAccessEmitters.java rename to vadl-iss/main/vadl/iss/codegen/RegisterAccessEmitters.java diff --git a/vadl/main/vadl/iss/passes/AbstractIssPass.java b/vadl-iss/main/vadl/iss/passes/AbstractIssPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/AbstractIssPass.java rename to vadl-iss/main/vadl/iss/passes/AbstractIssPass.java diff --git a/vadl/main/vadl/iss/passes/IssBitfieldWriteLoweringPass.java b/vadl-iss/main/vadl/iss/passes/IssBitfieldWriteLoweringPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssBitfieldWriteLoweringPass.java rename to vadl-iss/main/vadl/iss/passes/IssBitfieldWriteLoweringPass.java diff --git a/vadl/main/vadl/iss/passes/IssBuiltInArgTruncOptPass.java b/vadl-iss/main/vadl/iss/passes/IssBuiltInArgTruncOptPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssBuiltInArgTruncOptPass.java rename to vadl-iss/main/vadl/iss/passes/IssBuiltInArgTruncOptPass.java diff --git a/vadl/main/vadl/iss/passes/IssCFunctionExtractorPass.kt b/vadl-iss/main/vadl/iss/passes/IssCFunctionExtractorPass.kt similarity index 100% rename from vadl/main/vadl/iss/passes/IssCFunctionExtractorPass.kt rename to vadl-iss/main/vadl/iss/passes/IssCFunctionExtractorPass.kt diff --git a/vadl/main/vadl/iss/passes/IssConfigurationPass.java b/vadl-iss/main/vadl/iss/passes/IssConfigurationPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssConfigurationPass.java rename to vadl-iss/main/vadl/iss/passes/IssConfigurationPass.java diff --git a/vadl/main/vadl/iss/passes/IssExecStrategyPass.java b/vadl-iss/main/vadl/iss/passes/IssExecStrategyPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssExecStrategyPass.java rename to vadl-iss/main/vadl/iss/passes/IssExecStrategyPass.java diff --git a/vadl/main/vadl/iss/passes/IssExtractOptimizationPass.java b/vadl-iss/main/vadl/iss/passes/IssExtractOptimizationPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssExtractOptimizationPass.java rename to vadl-iss/main/vadl/iss/passes/IssExtractOptimizationPass.java diff --git a/vadl/main/vadl/iss/passes/IssGdbInfoExtractionPass.java b/vadl-iss/main/vadl/iss/passes/IssGdbInfoExtractionPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssGdbInfoExtractionPass.java rename to vadl-iss/main/vadl/iss/passes/IssGdbInfoExtractionPass.java diff --git a/vadl/main/vadl/iss/passes/IssHardcodedTcgAddOnPass.java b/vadl-iss/main/vadl/iss/passes/IssHardcodedTcgAddOnPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssHardcodedTcgAddOnPass.java rename to vadl-iss/main/vadl/iss/passes/IssHardcodedTcgAddOnPass.java diff --git a/vadl/main/vadl/iss/passes/IssInfoRetrievalPass.java b/vadl-iss/main/vadl/iss/passes/IssInfoRetrievalPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssInfoRetrievalPass.java rename to vadl-iss/main/vadl/iss/passes/IssInfoRetrievalPass.java diff --git a/vadl/main/vadl/iss/passes/IssLoopUnrollPass.java b/vadl-iss/main/vadl/iss/passes/IssLoopUnrollPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssLoopUnrollPass.java rename to vadl-iss/main/vadl/iss/passes/IssLoopUnrollPass.java diff --git a/vadl/main/vadl/iss/passes/IssMemoryAccessTransformationPass.java b/vadl-iss/main/vadl/iss/passes/IssMemoryAccessTransformationPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssMemoryAccessTransformationPass.java rename to vadl-iss/main/vadl/iss/passes/IssMemoryAccessTransformationPass.java diff --git a/vadl/main/vadl/iss/passes/IssMemoryDetectionPass.java b/vadl-iss/main/vadl/iss/passes/IssMemoryDetectionPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssMemoryDetectionPass.java rename to vadl-iss/main/vadl/iss/passes/IssMemoryDetectionPass.java diff --git a/vadl/main/vadl/iss/passes/IssNormalizationPass.java b/vadl-iss/main/vadl/iss/passes/IssNormalizationPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssNormalizationPass.java rename to vadl-iss/main/vadl/iss/passes/IssNormalizationPass.java diff --git a/vadl/main/vadl/iss/passes/IssPcAccessConversionPass.java b/vadl-iss/main/vadl/iss/passes/IssPcAccessConversionPass.java similarity index 98% rename from vadl/main/vadl/iss/passes/IssPcAccessConversionPass.java rename to vadl-iss/main/vadl/iss/passes/IssPcAccessConversionPass.java index e54223eef..cda61f2b6 100644 --- a/vadl/main/vadl/iss/passes/IssPcAccessConversionPass.java +++ b/vadl-iss/main/vadl/iss/passes/IssPcAccessConversionPass.java @@ -25,10 +25,10 @@ import vadl.utils.GraphUtils; import vadl.viam.Specification; import vadl.viam.graph.Graph; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.ScheduledNode; import vadl.viam.graph.dependency.ReadRegTensorNode; import vadl.viam.graph.dependency.ReadResourceNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * Determines if a {@link InstrExitNode.PcChange PC change instr exit} @@ -100,4 +100,4 @@ private void handleInstrExit(InstrExitNode.PcChange node) { } -} \ No newline at end of file +} diff --git a/vadl/main/vadl/iss/passes/IssRegisterAccessInfoRetrievalPass.java b/vadl-iss/main/vadl/iss/passes/IssRegisterAccessInfoRetrievalPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssRegisterAccessInfoRetrievalPass.java rename to vadl-iss/main/vadl/iss/passes/IssRegisterAccessInfoRetrievalPass.java diff --git a/vadl/main/vadl/iss/passes/IssRegisterAccessLoweringPass.java b/vadl-iss/main/vadl/iss/passes/IssRegisterAccessLoweringPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssRegisterAccessLoweringPass.java rename to vadl-iss/main/vadl/iss/passes/IssRegisterAccessLoweringPass.java diff --git a/vadl/main/vadl/iss/passes/IssSelectLoweringPass.java b/vadl-iss/main/vadl/iss/passes/IssSelectLoweringPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssSelectLoweringPass.java rename to vadl-iss/main/vadl/iss/passes/IssSelectLoweringPass.java diff --git a/vadl/main/vadl/iss/passes/IssTcgSchedulingPass.java b/vadl-iss/main/vadl/iss/passes/IssTcgSchedulingPass.java similarity index 99% rename from vadl/main/vadl/iss/passes/IssTcgSchedulingPass.java rename to vadl-iss/main/vadl/iss/passes/IssTcgSchedulingPass.java index b1d44c9ae..4870c25a9 100644 --- a/vadl/main/vadl/iss/passes/IssTcgSchedulingPass.java +++ b/vadl-iss/main/vadl/iss/passes/IssTcgSchedulingPass.java @@ -42,6 +42,7 @@ import vadl.viam.graph.ViamGraphError; import vadl.viam.graph.control.AbstractEndNode; import vadl.viam.graph.control.BranchBeginNode; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.ControlSplitNode; import vadl.viam.graph.control.DirectionalNode; @@ -55,7 +56,6 @@ import vadl.viam.graph.dependency.ReadResourceNode; import vadl.viam.graph.dependency.SelectNode; import vadl.viam.graph.dependency.WriteRegTensorNode; -import vadl.viam.passes.CfgTraverser; import vadl.viam.passes.GraphProcessor; /** diff --git a/vadl/main/vadl/iss/passes/IssTcgVAllocationPass.java b/vadl-iss/main/vadl/iss/passes/IssTcgVAllocationPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/IssTcgVAllocationPass.java rename to vadl-iss/main/vadl/iss/passes/IssTcgVAllocationPass.java diff --git a/vadl/main/vadl/iss/passes/TcgPassUtils.java b/vadl-iss/main/vadl/iss/passes/TcgPassUtils.java similarity index 100% rename from vadl/main/vadl/iss/passes/TcgPassUtils.java rename to vadl-iss/main/vadl/iss/passes/TcgPassUtils.java diff --git a/vadl/main/vadl/iss/passes/extensions/ExceptionInfo.java b/vadl-iss/main/vadl/iss/passes/extensions/ExceptionInfo.java similarity index 100% rename from vadl/main/vadl/iss/passes/extensions/ExceptionInfo.java rename to vadl-iss/main/vadl/iss/passes/extensions/ExceptionInfo.java diff --git a/vadl/main/vadl/iss/passes/extensions/InstrInfo.java b/vadl-iss/main/vadl/iss/passes/extensions/InstrInfo.java similarity index 100% rename from vadl/main/vadl/iss/passes/extensions/InstrInfo.java rename to vadl-iss/main/vadl/iss/passes/extensions/InstrInfo.java diff --git a/vadl/main/vadl/iss/passes/extensions/IssAccessorRegistry.java b/vadl-iss/main/vadl/iss/passes/extensions/IssAccessorRegistry.java similarity index 100% rename from vadl/main/vadl/iss/passes/extensions/IssAccessorRegistry.java rename to vadl-iss/main/vadl/iss/passes/extensions/IssAccessorRegistry.java diff --git a/vadl/main/vadl/iss/passes/extensions/IssAliasAccessorDescriptors.java b/vadl-iss/main/vadl/iss/passes/extensions/IssAliasAccessorDescriptors.java similarity index 100% rename from vadl/main/vadl/iss/passes/extensions/IssAliasAccessorDescriptors.java rename to vadl-iss/main/vadl/iss/passes/extensions/IssAliasAccessorDescriptors.java diff --git a/vadl/main/vadl/iss/passes/extensions/MemoryRegionInfo.java b/vadl-iss/main/vadl/iss/passes/extensions/MemoryRegionInfo.java similarity index 100% rename from vadl/main/vadl/iss/passes/extensions/MemoryRegionInfo.java rename to vadl-iss/main/vadl/iss/passes/extensions/MemoryRegionInfo.java diff --git a/vadl/main/vadl/iss/passes/extensions/RegInfo.java b/vadl-iss/main/vadl/iss/passes/extensions/RegInfo.java similarity index 100% rename from vadl/main/vadl/iss/passes/extensions/RegInfo.java rename to vadl-iss/main/vadl/iss/passes/extensions/RegInfo.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssConstExtractNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssConstExtractNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssConstExtractNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssConstExtractNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssGhostCastNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssGhostCastNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssGhostCastNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssGhostCastNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssLoadNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssLoadNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssLoadNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssLoadNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssMoveNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssMoveNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssMoveNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssMoveNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssReadRegNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssReadRegNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssReadRegNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssReadRegNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssRegBitfieldWriteNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssRegBitfieldWriteNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssRegBitfieldWriteNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssRegBitfieldWriteNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssSelectNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssSelectNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssSelectNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssSelectNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssStaticPcRegNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssStaticPcRegNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssStaticPcRegNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssStaticPcRegNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssStoreNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssStoreNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssStoreNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssStoreNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssTempExprNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssTempExprNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssTempExprNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssTempExprNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssValExtractNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssValExtractNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssValExtractNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssValExtractNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/IssWriteRegNode.java b/vadl-iss/main/vadl/iss/passes/nodes/IssWriteRegNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/IssWriteRegNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/IssWriteRegNode.java diff --git a/vadl/main/vadl/iss/passes/nodes/TcgVRefNode.java b/vadl-iss/main/vadl/iss/passes/nodes/TcgVRefNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/nodes/TcgVRefNode.java rename to vadl-iss/main/vadl/iss/passes/nodes/TcgVRefNode.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/Decomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/Decomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/Decomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/Decomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/IssOpDecompositionPass.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/IssOpDecompositionPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/IssOpDecompositionPass.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/IssOpDecompositionPass.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/ArithmeticDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/ArithmeticDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/ArithmeticDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/ArithmeticDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/CountDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/CountDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/CountDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/CountDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/FoldDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/FoldDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/FoldDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/FoldDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/ForallSubstitution.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/ForallSubstitution.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/ForallSubstitution.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/ForallSubstitution.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/IDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/IDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/IDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/IDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/LogicDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/LogicDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/LogicDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/LogicDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/ShiftDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/ShiftDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/ShiftDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/ShiftDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/decomposer/TensorDecomposer.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/TensorDecomposer.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/decomposer/TensorDecomposer.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/decomposer/TensorDecomposer.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/nodes/IssBinaryNode.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssBinaryNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/nodes/IssBinaryNode.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssBinaryNode.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/nodes/IssExprNode.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssExprNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/nodes/IssExprNode.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssExprNode.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/nodes/IssMul2Node.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssMul2Node.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/nodes/IssMul2Node.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssMul2Node.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/nodes/IssMulKind.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssMulKind.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/nodes/IssMulKind.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssMulKind.java diff --git a/vadl/main/vadl/iss/passes/opDecomposition/nodes/IssMulhNode.java b/vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssMulhNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/opDecomposition/nodes/IssMulhNode.java rename to vadl-iss/main/vadl/iss/passes/opDecomposition/nodes/IssMulhNode.java diff --git a/vadl/main/vadl/iss/passes/safeResourceRead/IssSafeResourceReadPass.java b/vadl-iss/main/vadl/iss/passes/safeResourceRead/IssSafeResourceReadPass.java similarity index 99% rename from vadl/main/vadl/iss/passes/safeResourceRead/IssSafeResourceReadPass.java rename to vadl-iss/main/vadl/iss/passes/safeResourceRead/IssSafeResourceReadPass.java index 7230b04e3..de421d203 100644 --- a/vadl/main/vadl/iss/passes/safeResourceRead/IssSafeResourceReadPass.java +++ b/vadl-iss/main/vadl/iss/passes/safeResourceRead/IssSafeResourceReadPass.java @@ -42,9 +42,11 @@ import vadl.viam.graph.control.AbstractBeginNode; import vadl.viam.graph.control.AbstractEndNode; import vadl.viam.graph.control.BranchEndNode; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.ControlSplitNode; import vadl.viam.graph.control.DirectionalNode; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.MergeNode; import vadl.viam.graph.control.ScheduledNode; import vadl.viam.graph.control.StartNode; @@ -52,8 +54,6 @@ import vadl.viam.graph.dependency.ExpressionNode; import vadl.viam.graph.dependency.ReadResourceNode; import vadl.viam.graph.dependency.WriteResourceNode; -import vadl.viam.passes.CfgTraverser; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * A pass that ensures safe resource reads in the Instruction Set Simulator (ISS). diff --git a/vadl/main/vadl/iss/passes/safeResourceRead/nodes/ExprSaveNode.java b/vadl-iss/main/vadl/iss/passes/safeResourceRead/nodes/ExprSaveNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/safeResourceRead/nodes/ExprSaveNode.java rename to vadl-iss/main/vadl/iss/passes/safeResourceRead/nodes/ExprSaveNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/IssTcgContextPass.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/IssTcgContextPass.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/IssTcgContextPass.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/IssTcgContextPass.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgBranchLoweringPass.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgBranchLoweringPass.java similarity index 99% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgBranchLoweringPass.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgBranchLoweringPass.java index f13bc2f4b..392f1f77e 100644 --- a/vadl/main/vadl/iss/passes/tcgLowering/TcgBranchLoweringPass.java +++ b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgBranchLoweringPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -38,6 +38,7 @@ import vadl.viam.graph.Graph; import vadl.viam.graph.control.AbstractBeginNode; import vadl.viam.graph.control.AbstractEndNode; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.ControlSplitNode; import vadl.viam.graph.control.DirectionalNode; @@ -48,7 +49,6 @@ import vadl.viam.graph.dependency.BuiltInCall; import vadl.viam.graph.dependency.ConstantNode; import vadl.viam.graph.dependency.ExpressionNode; -import vadl.viam.passes.CfgTraverser; /** * The {@code TcgBranchLoweringPass} class implements a compiler pass that lowers high-level diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgCondition.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgCondition.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgCondition.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgCondition.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgCtx.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgCtx.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgCtx.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgCtx.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgEndianness.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgEndianness.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgEndianness.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgEndianness.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgExtend.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgExtend.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgExtend.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgExtend.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgLabel.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgLabel.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgLabel.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgLabel.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgOpLoweringPass.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgOpLoweringPass.java similarity index 99% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgOpLoweringPass.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgOpLoweringPass.java index 6b691db86..23b61c033 100644 --- a/vadl/main/vadl/iss/passes/tcgLowering/TcgOpLoweringPass.java +++ b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgOpLoweringPass.java @@ -92,9 +92,11 @@ import vadl.viam.graph.Graph; import vadl.viam.graph.NodeList; import vadl.viam.graph.ViamGraphError; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.DirectionalNode; import vadl.viam.graph.control.InstrEndNode; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.ScheduledNode; import vadl.viam.graph.control.StartNode; import vadl.viam.graph.dependency.AsmBuiltInCall; @@ -127,8 +129,6 @@ import vadl.viam.graph.dependency.WriteSignalNode; import vadl.viam.graph.dependency.WriteStageOutputNode; import vadl.viam.graph.dependency.ZeroExtendNode; -import vadl.viam.passes.CfgTraverser; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * A pass that lowers high-level operations to TCG (Tiny Code Generator) operations. diff --git a/vadl/main/vadl/iss/passes/tcgLowering/TcgV.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/TcgV.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/TcgV.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/TcgV.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/Tcg_32_64.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/Tcg_32_64.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/Tcg_32_64.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/Tcg_32_64.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32_64.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32_64.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32_64.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/Tcg_8_16_32_64.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgAddNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgAddNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgAddNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgAddNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgAndNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgAndNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgAndNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgAndNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBiNopNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBiNopNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBiNopNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBiNopNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBinaryOpNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBinaryOpNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBinaryOpNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBinaryOpNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBr.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBr.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBr.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBr.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBrCond.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBrCond.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgBrCond.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgBrCond.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgConstSelectNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgConstSelectNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgConstSelectNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgConstSelectNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgCountZerosNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgCountZerosNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgCountZerosNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgCountZerosNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgCtpopNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgCtpopNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgCtpopNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgCtpopNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgDepositNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgDepositNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgDepositNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgDepositNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgDivNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgDivNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgDivNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgDivNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgExtendNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgExtendNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgExtendNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgExtendNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgExtractNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgExtractNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgExtractNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgExtractNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgFreeTemp.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgFreeTemp.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgFreeTemp.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgFreeTemp.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGenException.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGenException.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGenException.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGenException.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGenLabel.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGenLabel.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGenLabel.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGenLabel.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGetVar.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGetVar.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGetVar.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGetVar.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGottoTb.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGottoTb.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgGottoTb.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgGottoTb.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgHelperCall.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgHelperCall.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgHelperCall.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgHelperCall.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgLabelNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgLabelNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgLabelNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgLabelNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgLoadMemory.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgLoadMemory.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgLoadMemory.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgLoadMemory.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgLookupAndGotoPtr.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgLookupAndGotoPtr.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgLookupAndGotoPtr.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgLookupAndGotoPtr.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMovCondNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMovCondNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMovCondNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMovCondNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMoveNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMoveNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMoveNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMoveNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMul2Node.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMul2Node.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMul2Node.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMul2Node.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMulNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMulNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMulNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMulNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMulhNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMulhNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgMulhNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgMulhNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgNegNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgNegNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgNegNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgNegNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgNotNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgNotNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgNotNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgNotNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgOpNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgOpNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgOpNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgOpNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgOrNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgOrNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgOrNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgOrNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgRemNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgRemNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgRemNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgRemNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgRotlNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgRotlNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgRotlNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgRotlNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgRotrNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgRotrNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgRotrNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgRotrNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSarNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSarNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSarNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSarNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSetCond.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSetCond.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSetCond.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSetCond.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSetIsJmp.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSetIsJmp.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSetIsJmp.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSetIsJmp.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSetLabel.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSetLabel.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSetLabel.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSetLabel.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgShlNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgShlNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgShlNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgShlNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgShrNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgShrNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgShrNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgShrNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgStoreMemory.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgStoreMemory.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgStoreMemory.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgStoreMemory.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSubNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSubNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgSubNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgSubNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgTruncateNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgTruncateNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgTruncateNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgTruncateNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryNopNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryNopNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryNopNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryNopNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryOpNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryOpNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryOpNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgUnaryOpNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgVarNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgVarNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgVarNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgVarNode.java diff --git a/vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgXorNode.java b/vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgXorNode.java similarity index 100% rename from vadl/main/vadl/iss/passes/tcgLowering/nodes/TcgXorNode.java rename to vadl-iss/main/vadl/iss/passes/tcgLowering/nodes/TcgXorNode.java diff --git a/vadl/main/vadl/iss/template/IssDefaultRenderingPass.java b/vadl-iss/main/vadl/iss/template/IssDefaultRenderingPass.java similarity index 97% rename from vadl/main/vadl/iss/template/IssDefaultRenderingPass.java rename to vadl-iss/main/vadl/iss/template/IssDefaultRenderingPass.java index a2d4c4fbd..b9fbaf5a6 100644 --- a/vadl/main/vadl/iss/template/IssDefaultRenderingPass.java +++ b/vadl-iss/main/vadl/iss/template/IssDefaultRenderingPass.java @@ -25,7 +25,7 @@ * readable, especially when using the {@link #issDefault(String, IssConfiguration)} * constructor. * - * @see vadl.pass.PassOrders#iss(IssConfiguration) + * @see vadl.pipeline.IssPassOrders#iss(IssConfiguration) */ public class IssDefaultRenderingPass extends IssTemplateRenderingPass { diff --git a/vadl/main/vadl/iss/template/IssRenderUtils.java b/vadl-iss/main/vadl/iss/template/IssRenderUtils.java similarity index 100% rename from vadl/main/vadl/iss/template/IssRenderUtils.java rename to vadl-iss/main/vadl/iss/template/IssRenderUtils.java diff --git a/vadl/main/vadl/iss/template/IssTemplateRenderingPass.java b/vadl-iss/main/vadl/iss/template/IssTemplateRenderingPass.java similarity index 100% rename from vadl/main/vadl/iss/template/IssTemplateRenderingPass.java rename to vadl-iss/main/vadl/iss/template/IssTemplateRenderingPass.java diff --git a/vadl/main/vadl/iss/template/gdb_xml/EmitIssGdbXmlPass.java b/vadl-iss/main/vadl/iss/template/gdb_xml/EmitIssGdbXmlPass.java similarity index 100% rename from vadl/main/vadl/iss/template/gdb_xml/EmitIssGdbXmlPass.java rename to vadl-iss/main/vadl/iss/template/gdb_xml/EmitIssGdbXmlPass.java diff --git a/vadl/main/vadl/iss/template/hw/EmitIssHwMachineCPass.java b/vadl-iss/main/vadl/iss/template/hw/EmitIssHwMachineCPass.java similarity index 100% rename from vadl/main/vadl/iss/template/hw/EmitIssHwMachineCPass.java rename to vadl-iss/main/vadl/iss/template/hw/EmitIssHwMachineCPass.java diff --git a/vadl/main/vadl/iss/template/target/AliasCpuAccessors.java b/vadl-iss/main/vadl/iss/template/target/AliasCpuAccessors.java similarity index 100% rename from vadl/main/vadl/iss/template/target/AliasCpuAccessors.java rename to vadl-iss/main/vadl/iss/template/target/AliasCpuAccessors.java diff --git a/vadl/main/vadl/iss/template/target/BaseChunkCpuAccessors.java b/vadl-iss/main/vadl/iss/template/target/BaseChunkCpuAccessors.java similarity index 100% rename from vadl/main/vadl/iss/template/target/BaseChunkCpuAccessors.java rename to vadl-iss/main/vadl/iss/template/target/BaseChunkCpuAccessors.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssCpuHeaderPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssCpuHeaderPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssCpuHeaderPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssCpuHeaderPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssCpuParamHeaderPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssCpuParamHeaderPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssCpuParamHeaderPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssCpuParamHeaderPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssCpuQomHeaderPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssCpuQomHeaderPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssCpuQomHeaderPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssCpuQomHeaderPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssCpuSourcePass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssCpuSourcePass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssCpuSourcePass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssCpuSourcePass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssDecodeTreePass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssDecodeTreePass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssDecodeTreePass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssDecodeTreePass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssDoExcCIncPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssDoExcCIncPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssDoExcCIncPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssDoExcCIncPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssGdbStubPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssGdbStubPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssGdbStubPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssGdbStubPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssHelperCPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssHelperCPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssHelperCPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssHelperCPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssHelperHPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssHelperHPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssHelperHPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssHelperHPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssInsnTransCIncPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssInsnTransCIncPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssInsnTransCIncPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssInsnTransCIncPass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssMachinePass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssMachinePass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssMachinePass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssMachinePass.java diff --git a/vadl/main/vadl/iss/template/target/EmitIssTranslateCPass.java b/vadl-iss/main/vadl/iss/template/target/EmitIssTranslateCPass.java similarity index 100% rename from vadl/main/vadl/iss/template/target/EmitIssTranslateCPass.java rename to vadl-iss/main/vadl/iss/template/target/EmitIssTranslateCPass.java diff --git a/vadl-iss/main/vadl/pipeline/IssPassOrders.java b/vadl-iss/main/vadl/pipeline/IssPassOrders.java new file mode 100644 index 000000000..bafcf7f6f --- /dev/null +++ b/vadl-iss/main/vadl/pipeline/IssPassOrders.java @@ -0,0 +1,215 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import static vadl.iss.template.IssDefaultRenderingPass.issDefault; + +import java.io.IOException; +import java.util.Optional; +import vadl.configuration.DumpMode; +import vadl.configuration.GeneralConfiguration; +import vadl.configuration.IssConfiguration; +import vadl.dump.DumpIssInstructionGraphsPass; +import vadl.iss.passes.IssBitfieldWriteLoweringPass; +import vadl.iss.passes.IssBuiltInArgTruncOptPass; +import vadl.iss.passes.IssCFunctionExtractionPass; +import vadl.iss.passes.IssConfigurationPass; +import vadl.iss.passes.IssExecStrategyPass; +import vadl.iss.passes.IssExtractOptimizationPass; +import vadl.iss.passes.IssGdbInfoExtractionPass; +import vadl.iss.passes.IssHardcodedTcgAddOnPass; +import vadl.iss.passes.IssInfoRetrievalPass; +import vadl.iss.passes.IssLoopUnrollPass; +import vadl.iss.passes.IssMemoryAccessTransformationPass; +import vadl.iss.passes.IssMemoryDetectionPass; +import vadl.iss.passes.IssNormalizationPass; +import vadl.iss.passes.IssPcAccessConversionPass; +import vadl.iss.passes.IssRegisterAccessInfoRetrievalPass; +import vadl.iss.passes.IssRegisterAccessLoweringPass; +import vadl.iss.passes.IssSelectLoweringPass; +import vadl.iss.passes.IssTcgSchedulingPass; +import vadl.iss.passes.IssTcgVAllocationPass; +import vadl.iss.passes.opDecomposition.IssOpDecompositionPass; +import vadl.iss.passes.safeResourceRead.IssSafeResourceReadPass; +import vadl.iss.passes.tcgLowering.IssTcgContextPass; +import vadl.iss.passes.tcgLowering.TcgBranchLoweringPass; +import vadl.iss.passes.tcgLowering.TcgOpLoweringPass; +import vadl.iss.template.gdb_xml.EmitIssGdbXmlPass; +import vadl.iss.template.hw.EmitIssHwMachineCPass; +import vadl.iss.template.target.EmitIssCpuHeaderPass; +import vadl.iss.template.target.EmitIssCpuParamHeaderPass; +import vadl.iss.template.target.EmitIssCpuQomHeaderPass; +import vadl.iss.template.target.EmitIssCpuSourcePass; +import vadl.iss.template.target.EmitIssDecodeTreePass; +import vadl.iss.template.target.EmitIssDoExcCIncPass; +import vadl.iss.template.target.EmitIssGdbStubPass; +import vadl.iss.template.target.EmitIssHelperCPass; +import vadl.iss.template.target.EmitIssHelperHPass; +import vadl.iss.template.target.EmitIssInsnTransCIncPass; +import vadl.iss.template.target.EmitIssMachinePass; +import vadl.iss.template.target.EmitIssTranslateCPass; +import vadl.lcb.passes.OverwriteInputOperandsPass; +import vadl.pass.PassOrder; +import vadl.viam.passes.DuplicateWriteDetectionPass; +import vadl.viam.passes.NormalizeFieldsToFieldAccessFunctionsPass; +import vadl.viam.passes.canonicalization.CanonicalizationPass; +import vadl.viam.passes.functionInliner.ArtificialResInlinerPass; +import vadl.viam.passes.functionInliner.FieldAccessInlinerPass; +import vadl.viam.passes.sideEffectScheduling.SideEffectSchedulingPass; + +/** + * ISS-specific pipeline extensions. + */ +public final class IssPassOrders { + private IssPassOrders() { + } + + public static PassOrder iss(IssConfiguration config) throws IOException { + return extendIss(ViamPassOrders.viam(config), config); + } + + /** + * Extends a shared VIAM pipeline with ISS-specific lowering, decode, and emission passes. + */ + public static PassOrder extendIss(PassOrder order, IssConfiguration config) { + order.skip(ArtificialResInlinerPass.class); + order.skip(FieldAccessInlinerPass.class); + order.skip(NormalizeFieldsToFieldAccessFunctionsPass.class); + order.skip(vadl.gcb.passes.RenamingConflictingRegistersPass.class); + order.skip(OverwriteInputOperandsPass.class); + // TODO: Fix duplicate-write detection for ISS helper-only register accesses + // and re-enable this shared VIAM validation pass for the ISS pipeline. + order.skip(DuplicateWriteDetectionPass.class); + + order + .add(new IssInfoRetrievalPass(config)) + .add(new IssConfigurationPass(config)) + .add(new IssMemoryDetectionPass(config)) + .add(new IssRegisterAccessLoweringPass(config)) + .add(new IssExecStrategyPass(config)) + .add(new IssBitfieldWriteLoweringPass(config)) + .add(new CanonicalizationPass(config)) + .add(new IssOpDecompositionPass(config)) + .add(new IssNormalizationPass(config)) + .add(new IssExtractOptimizationPass(config)) + .add(new IssMemoryAccessTransformationPass(config)) + .add(new IssBuiltInArgTruncOptPass(config)) + .add(new IssLoopUnrollPass(config)) + .add(new SideEffectSchedulingPass(config)) + .add(new IssSafeResourceReadPass(config)) + .add(new IssPcAccessConversionPass(config)) + .add(new IssTcgContextPass(config)) + .add(new IssSelectLoweringPass(config)) + .add(new IssTcgSchedulingPass(config)) + .add(new TcgBranchLoweringPass(config)) + .add(new TcgOpLoweringPass(config)) + .add(new IssHardcodedTcgAddOnPass(config)) + .add(new IssTcgVAllocationPass(config)) + .add(new IssGdbInfoExtractionPass(config)) + .add(new IssCFunctionExtractionPass(config)) + .add(new IssRegisterAccessInfoRetrievalPass(config)); + + VdtPassOrders.addDecodePasses(order, config); + + if (config.dumpMode() == DumpMode.ISS_PASS_GRAPHS) { + addIssInstructionGraphDumpPasses(order, config); + } + + PassOrderPipelineUtils.addHtmlDump(order, config, "ISS Lowering Dump", + "This dump is executed after the iss transformation passes were executed.", + IssInfoRetrievalPass.class, + IssConfiguration.class); + + if (!config.isDryRun()) { + addIssEmitPasses(order, config); + } + + return order; + } + + private static PassOrder addIssInstructionGraphDumpPasses(PassOrder order, + GeneralConfiguration config) { + return order.addBetweenEach((current, next) -> { + if (current instanceof DumpIssInstructionGraphsPass) { + return Optional.empty(); + } + return Optional.of(new DumpIssInstructionGraphsPass(config)); + }); + } + + private static void addIssEmitPasses(PassOrder order, IssConfiguration config) { + order + .add(issDefault("meson.build", config)) + .add(issDefault("/include/vadl-builtins.h", config)) + .add(issDefault("/include/vadl-iss-builtins.h", config)) + .add(issDefault("/configs/devices/gen-arch-softmmu/default.mak", config)) + .add(issDefault("/configs/targets/gen-arch-softmmu.mak", config)) + .add(issDefault("/target/gen-arch/cpu.h", config)) + .add(issDefault("/include/disas/dis-asm.h", config)) + .add(issDefault("/include/sysemu/arch_init.h", config)) + .add(new EmitIssGdbXmlPass(config)) + .add(new EmitIssGdbStubPass(config)) + .add(issDefault("/tests/tcg/plugins/endstate.c", config)) + .add(issDefault("/tests/tcg/plugins/meson.build", config)) + .add(issDefault("/hw/Kconfig", config)) + .add(issDefault("/hw/meson.build", config)) + .add(issDefault("/hw/gen-arch/Kconfig", config)) + .add(issDefault("/hw/gen-arch/meson.build", config)) + .add(new EmitIssHwMachineCPass(config)) + .add(issDefault("/hw/gen-arch/gen-machine.h", config)) + .add(issDefault("/hw/gen-arch/boot.c", config)) + .add(issDefault("/hw/gen-arch/boot.h", config)) + .add(issDefault("/target/Kconfig", config)) + .add(issDefault("/target/meson.build", config)) + .add(issDefault("/target/gen-arch/trace-events", config)) + .add(issDefault("/target/gen-arch/trace.h", config)) + .add(issDefault("/target/gen-arch/Kconfig", config)) + .add(issDefault("/target/gen-arch/meson.build", config)) + .add(issDefault("/target/gen-arch/cpu-bits.h", config)) + .add(new EmitIssHelperCPass(config)) + .add(new EmitIssHelperHPass(config)) + .add(new EmitIssDoExcCIncPass(config)) + .add(new EmitIssCpuQomHeaderPass(config)) + .add(new EmitIssCpuParamHeaderPass(config)) + .add(new EmitIssCpuHeaderPass(config)) + .add(new EmitIssCpuSourcePass(config)) + .add(new EmitIssDecodeTreePass(config)) + .add(new EmitIssInsnTransCIncPass(config)) + .add(new EmitIssTranslateCPass(config)) + .add(new EmitIssMachinePass(config)) + .add(issDefault("/contrib/plugins/meson.build", config)) + .add(issDefault("/contrib/plugins/cosimulation.c", config)); + + addUserModeEmitPasses(order, config); + } + + private static void addUserModeEmitPasses(PassOrder order, IssConfiguration config) { + var inputPath = config.inputPath(); + if (inputPath != null && inputPath.getFileName().endsWith("rv64ume.vadl")) { + order + .add(issDefault("/configs/targets/gen-arch-linux-user.mak", config)) + .add(issDefault("/linux-user/meson.build", config)) + .add(issDefault("/linux-user/elfload.c", config)) + .add(issDefault("/linux-user/syscall_defs.h", config)) + .add(issDefault("/linux-user/gen-arch/meson.build", config)) + .add(issDefault("/linux-user/gen-arch/cpu_loop.c", config)) + .add(issDefault("/linux-user/gen-arch/signal.c", config)) + .add(issDefault("/linux-user/gen-arch/sockbits.h", config)) + .add(issDefault("/linux-user/gen-arch/syscall.tbl", config)) + .add(issDefault("/linux-user/gen-arch/syscallhdr.sh", true, config)) + .add(issDefault("/linux-user/gen-arch/target_cpu.h", config)) + .add(issDefault("/linux-user/gen-arch/target_elf.h", config)) + .add(issDefault("/linux-user/gen-arch/target_errno_defs.h", config)) + .add(issDefault("/linux-user/gen-arch/target_fcntl.h", config)) + .add(issDefault("/linux-user/gen-arch/target_mman.h", config)) + .add(issDefault("/linux-user/gen-arch/target_prctl.h", config)) + .add(issDefault("/linux-user/gen-arch/target_proc.h", config)) + .add(issDefault("/linux-user/gen-arch/target_resource.h", config)) + .add(issDefault("/linux-user/gen-arch/target_signal.h", config)) + .add(issDefault("/linux-user/gen-arch/target_structs.h", config)) + .add(issDefault("/linux-user/gen-arch/target_syscall.h", config)) + .add(issDefault("/linux-user/gen-arch/termbits.h", config)); + } + } +} diff --git a/vadl/main/vadl/vdt/target/iss/IssDecisionTreeCodeGenerator.java b/vadl-iss/main/vadl/vdt/target/iss/IssDecisionTreeCodeGenerator.java similarity index 100% rename from vadl/main/vadl/vdt/target/iss/IssDecisionTreeCodeGenerator.java rename to vadl-iss/main/vadl/vdt/target/iss/IssDecisionTreeCodeGenerator.java diff --git a/vadl-lcb-gcb/build.gradle.kts b/vadl-lcb-gcb/build.gradle.kts new file mode 100644 index 000000000..b490a9aeb --- /dev/null +++ b/vadl-lcb-gcb/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("conventions-jvm") +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(project(":vadl-core")) + implementation(project(":vadl-pass-api")) + implementation(libs.guava) + implementation(libs.commons.text) +} diff --git a/vadl-lcb-gcb/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider b/vadl-lcb-gcb/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider new file mode 100644 index 000000000..4df3be270 --- /dev/null +++ b/vadl-lcb-gcb/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider @@ -0,0 +1 @@ +vadl.dump.LcbHtmlDumpExtensionProvider diff --git a/vadl/main/resources/templates/lcb/LcbMakeFile b/vadl-lcb-gcb/main/resources/templates/lcb/LcbMakeFile similarity index 100% rename from vadl/main/resources/templates/lcb/LcbMakeFile rename to vadl-lcb-gcb/main/resources/templates/lcb/LcbMakeFile diff --git a/vadl/main/resources/templates/lcb/clang/include/Basic/Builtins.td b/vadl-lcb-gcb/main/resources/templates/lcb/clang/include/Basic/Builtins.td similarity index 100% rename from vadl/main/resources/templates/lcb/clang/include/Basic/Builtins.td rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/include/Basic/Builtins.td diff --git a/vadl/main/resources/templates/lcb/clang/include/Basic/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/clang/include/Basic/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/clang/include/Basic/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/include/Basic/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/clang/include/Basic/TargetBuiltins.h b/vadl-lcb-gcb/main/resources/templates/lcb/clang/include/Basic/TargetBuiltins.h similarity index 100% rename from vadl/main/resources/templates/lcb/clang/include/Basic/TargetBuiltins.h rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/include/Basic/TargetBuiltins.h diff --git a/vadl/main/resources/templates/lcb/clang/lib/Basic/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/Basic/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/clang/lib/Basic/Targets.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/Targets.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/Basic/Targets.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/Targets.cpp diff --git a/vadl/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.cpp diff --git a/vadl/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.h b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.h similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.h rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Basic/Targets/ClangTarget.h diff --git a/vadl/main/resources/templates/lcb/clang/lib/CodeGen/CGBuiltin.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CGBuiltin.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/CodeGen/CGBuiltin.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CGBuiltin.cpp diff --git a/vadl/main/resources/templates/lcb/clang/lib/CodeGen/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/CodeGen/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenFunction.h b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenFunction.h similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenFunction.h rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenFunction.h diff --git a/vadl/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenModule.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenModule.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenModule.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/CodeGenModule.cpp diff --git a/vadl/main/resources/templates/lcb/clang/lib/CodeGen/TargetInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/TargetInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/CodeGen/TargetInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/TargetInfo.h diff --git a/vadl/main/resources/templates/lcb/clang/lib/CodeGen/Targets/Target.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/Targets/Target.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/CodeGen/Targets/Target.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/CodeGen/Targets/Target.cpp diff --git a/vadl/main/resources/templates/lcb/clang/lib/Driver/Toolchains/Clang.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Driver/Toolchains/Clang.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/Driver/Toolchains/Clang.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Driver/Toolchains/Clang.cpp diff --git a/vadl/main/resources/templates/lcb/clang/lib/Driver/Toolchains/CommonArgs.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Driver/Toolchains/CommonArgs.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/clang/lib/Driver/Toolchains/CommonArgs.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/clang/lib/Driver/Toolchains/CommonArgs.cpp diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Arch/ImmediateUtils.h b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/ImmediateUtils.h similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Arch/ImmediateUtils.h rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/ImmediateUtils.h diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Arch/Target.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/Target.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Arch/Target.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/Target.cpp diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Arch/TargetManualEncoding.hpp b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/TargetManualEncoding.hpp similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Arch/TargetManualEncoding.hpp rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/TargetManualEncoding.hpp diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Arch/TargetRelocations.hpp b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/TargetRelocations.hpp similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Arch/TargetRelocations.hpp rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Arch/TargetRelocations.hpp diff --git a/vadl/main/resources/templates/lcb/lld/ELF/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Driver.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Driver.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Driver.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Driver.cpp diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Target.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Target.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Target.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Target.cpp diff --git a/vadl/main/resources/templates/lcb/lld/ELF/Target.h b/vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Target.h similarity index 100% rename from vadl/main/resources/templates/lcb/lld/ELF/Target.h rename to vadl-lcb-gcb/main/resources/templates/lcb/lld/ELF/Target.h diff --git a/vadl/main/resources/templates/lcb/llvm/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELF.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELF.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELF.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELF.h diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELFRelocs/Target.def b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELFRelocs/Target.def similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELFRelocs/Target.def rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/BinaryFormat/ELFRelocs/Target.def diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/IR/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/IR/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/IR/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/IR/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/IR/Intrinsics.td b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/IR/Intrinsics.td similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/IR/Intrinsics.td rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/IR/Intrinsics.td diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/IR/MainIntrinsics.td b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/IR/MainIntrinsics.td similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/IR/MainIntrinsics.td rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/IR/MainIntrinsics.td diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/Object/ELFObjectFile.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/Object/ELFObjectFile.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/Object/ELFObjectFile.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/Object/ELFObjectFile.h diff --git a/vadl/main/resources/templates/lcb/llvm/include/llvm/TargetParser/Triple.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/TargetParser/Triple.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/include/llvm/TargetParser/Triple.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/include/llvm/TargetParser/Triple.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Object/ELF.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Object/ELF.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Object/ELF.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Object/ELF.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParsedOperand.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParser.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParser.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParser.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmParser.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/AsmRecursiveDescentParser.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmParser/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmParser/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/AsmPrinter.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/CallingConv.td b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/CallingConv.td similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/CallingConv.td rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/CallingConv.td diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/DAGToDAGISel.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/FrameLowering.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/ISelLowering.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.td b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.td similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.td rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/InstrInfo.td diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCInstLower.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmBackend.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmStreamer.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/AsmUtils.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/MCTargetDesc.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetConstMatInt.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFObjectWriter.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetELFStreamer.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetFixupKinds.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetFixupKinds.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetFixupKinds.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetFixupKinds.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetInstPrinter.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCAsmInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCCodeEmitter.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCExpr.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetMCInstExpander.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetStreamer.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetStreamer.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetStreamer.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MCTargetDesc/TargetStreamer.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/MachineFunctionInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MachineFunctionInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/MachineFunctionInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/MachineFunctionInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/PassConfig.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/PassConfig.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/PassConfig.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/PassConfig.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/PassConfig.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/PassConfig.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/PassConfig.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/PassConfig.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.td b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.td similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.td rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/RegisterInfo.td diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/SubTarget.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/SubTarget.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/SubTarget.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/SubTarget.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/SubTarget.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/SubTarget.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/SubTarget.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/SubTarget.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/Target.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Target.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/Target.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Target.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/Target.td b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Target.td similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/Target.td rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Target.td diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/CMakeLists.txt b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/CMakeLists.txt similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/CMakeLists.txt rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/CMakeLists.txt diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetInfo/TargetInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetMachine.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetObjectFile.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/TargetTransformInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/Utils/BaseInfo.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Utils/BaseInfo.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/Utils/BaseInfo.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Utils/BaseInfo.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/Target/Utils/ImmediateUtils.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Utils/ImmediateUtils.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/Target/Utils/ImmediateUtils.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/Target/Utils/ImmediateUtils.h diff --git a/vadl/main/resources/templates/lcb/llvm/lib/TargetParser/Triple.cpp b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/TargetParser/Triple.cpp similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/lib/TargetParser/Triple.cpp rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/lib/TargetParser/Triple.cpp diff --git a/vadl/main/resources/templates/lcb/llvm/utils/benchmark/src/benchmark_register.h b/vadl-lcb-gcb/main/resources/templates/lcb/llvm/utils/benchmark/src/benchmark_register.h similarity index 100% rename from vadl/main/resources/templates/lcb/llvm/utils/benchmark/src/benchmark_register.h rename to vadl-lcb-gcb/main/resources/templates/lcb/llvm/utils/benchmark/src/benchmark_register.h diff --git a/vadl/main/vadl/configuration/GcbConfiguration.java b/vadl-lcb-gcb/main/vadl/configuration/GcbConfiguration.java similarity index 100% rename from vadl/main/vadl/configuration/GcbConfiguration.java rename to vadl-lcb-gcb/main/vadl/configuration/GcbConfiguration.java diff --git a/vadl/main/vadl/configuration/LcbConfiguration.java b/vadl-lcb-gcb/main/vadl/configuration/LcbConfiguration.java similarity index 100% rename from vadl/main/vadl/configuration/LcbConfiguration.java rename to vadl-lcb-gcb/main/vadl/configuration/LcbConfiguration.java diff --git a/vadl-lcb-gcb/main/vadl/dump/LcbHtmlDumpExtensionProvider.java b/vadl-lcb-gcb/main/vadl/dump/LcbHtmlDumpExtensionProvider.java new file mode 100644 index 000000000..ad0a1ff73 --- /dev/null +++ b/vadl-lcb-gcb/main/vadl/dump/LcbHtmlDumpExtensionProvider.java @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.util.List; +import vadl.dump.infoEnrichers.LcbEnricherCollection; + +/** + * Registers LCB/GCB-specific HTML dump extensions. + */ +public class LcbHtmlDumpExtensionProvider implements HtmlDumpExtensionProvider { + + @Override + public int priority() { + return 200; + } + + @Override + public void addInfoEnrichers(List enrichers) { + enrichers.addAll(LcbEnricherCollection.all); + } +} diff --git a/vadl/main/vadl/dump/infoEnrichers/LcbEnricherCollection.java b/vadl-lcb-gcb/main/vadl/dump/infoEnrichers/LcbEnricherCollection.java similarity index 100% rename from vadl/main/vadl/dump/infoEnrichers/LcbEnricherCollection.java rename to vadl-lcb-gcb/main/vadl/dump/infoEnrichers/LcbEnricherCollection.java diff --git a/vadl/main/vadl/gcb/passes/DetermineBuiltinAttributesPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/DetermineBuiltinAttributesPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/DetermineBuiltinAttributesPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/DetermineBuiltinAttributesPass.java diff --git a/vadl/main/vadl/gcb/passes/DetermineRegisterUsesAndDefsPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/DetermineRegisterUsesAndDefsPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/DetermineRegisterUsesAndDefsPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/DetermineRegisterUsesAndDefsPass.java diff --git a/vadl/main/vadl/gcb/passes/DetermineRelocationTypeForFieldPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/DetermineRelocationTypeForFieldPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/DetermineRelocationTypeForFieldPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/DetermineRelocationTypeForFieldPass.java diff --git a/vadl/main/vadl/gcb/passes/GenerateCompilerRegistersPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/GenerateCompilerRegistersPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/GenerateCompilerRegistersPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/GenerateCompilerRegistersPass.java diff --git a/vadl/main/vadl/gcb/passes/GenerateGcbIntrinsicsPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/GenerateGcbIntrinsicsPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/GenerateGcbIntrinsicsPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/GenerateGcbIntrinsicsPass.java diff --git a/vadl/main/vadl/gcb/passes/GenerateValueRangeImmediatePass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/GenerateValueRangeImmediatePass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/GenerateValueRangeImmediatePass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/GenerateValueRangeImmediatePass.java diff --git a/vadl/main/vadl/gcb/passes/IdentifyFieldUsagePass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/IdentifyFieldUsagePass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/IdentifyFieldUsagePass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/IdentifyFieldUsagePass.java diff --git a/vadl/main/vadl/gcb/passes/InstructionBuiltinAttributesCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/InstructionBuiltinAttributesCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/InstructionBuiltinAttributesCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/InstructionBuiltinAttributesCtx.java diff --git a/vadl/main/vadl/gcb/passes/InstructionIntrinsicAttributesCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/InstructionIntrinsicAttributesCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/InstructionIntrinsicAttributesCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/InstructionIntrinsicAttributesCtx.java diff --git a/vadl/main/vadl/gcb/passes/InstructionPatternPruningPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/InstructionPatternPruningPass.java similarity index 93% rename from vadl/main/vadl/gcb/passes/InstructionPatternPruningPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/InstructionPatternPruningPass.java index 3704465ad..a8f33d8a7 100644 --- a/vadl/main/vadl/gcb/passes/InstructionPatternPruningPass.java +++ b/vadl-lcb-gcb/main/vadl/gcb/passes/InstructionPatternPruningPass.java @@ -1,3 +1,19 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + package vadl.gcb.passes; import java.io.IOException; @@ -9,8 +25,6 @@ import java.util.Set; import javax.annotation.Nullable; import vadl.configuration.GeneralConfiguration; -import vadl.gcb.annotations.SkipPruningAnnotation; -import vadl.gcb.annotations.StatusRegisterAnnotation; import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; import vadl.pass.Pass; import vadl.pass.PassName; @@ -19,10 +33,13 @@ import vadl.utils.Pair; import vadl.viam.Instruction; import vadl.viam.Specification; +import vadl.viam.annotations.SkipPruningAnnotation; +import vadl.viam.annotations.StatusRegisterAnnotation; import vadl.viam.graph.GraphVisitor; import vadl.viam.graph.Node; import vadl.viam.graph.ReadsRegisterTensor; import vadl.viam.graph.control.AbstractEndNode; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.ControlSplitNode; import vadl.viam.graph.control.DirectionalNode; @@ -35,7 +52,6 @@ import vadl.viam.graph.dependency.ProcCallNode; import vadl.viam.graph.dependency.SelectNode; import vadl.viam.graph.dependency.SideEffectNode; -import vadl.viam.passes.CfgTraverser; /** * The problem is that when a user writes an instruction behavior where @@ -310,4 +326,4 @@ private Likelihood meet(@Nullable Likelihood result, Likelihood subResult) { } } } -} \ No newline at end of file +} diff --git a/vadl/main/vadl/gcb/passes/IsaMatchingUtils.java b/vadl-lcb-gcb/main/vadl/gcb/passes/IsaMatchingUtils.java similarity index 98% rename from vadl/main/vadl/gcb/passes/IsaMatchingUtils.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/IsaMatchingUtils.java index 55bba0879..0937acd48 100644 --- a/vadl/main/vadl/gcb/passes/IsaMatchingUtils.java +++ b/vadl-lcb-gcb/main/vadl/gcb/passes/IsaMatchingUtils.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -24,8 +24,6 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import java.util.stream.Stream; -import vadl.gcb.annotations.StatusRegisterAnnotation; import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; import vadl.lcb.passes.isaMatching.IsaPseudoInstructionMatchingPass; import vadl.types.BitsType; @@ -35,6 +33,7 @@ import vadl.viam.Instruction; import vadl.viam.PseudoInstruction; import vadl.viam.Specification; +import vadl.viam.annotations.StatusRegisterAnnotation; import vadl.viam.graph.Graph; import vadl.viam.graph.WritesRegisterTensor; import vadl.viam.graph.control.IfNode; diff --git a/vadl/main/vadl/gcb/passes/MachineInstructionCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/MachineInstructionCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/MachineInstructionCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/MachineInstructionCtx.java diff --git a/vadl/main/vadl/gcb/passes/MachineInstructionLabel.java b/vadl-lcb-gcb/main/vadl/gcb/passes/MachineInstructionLabel.java similarity index 100% rename from vadl/main/vadl/gcb/passes/MachineInstructionLabel.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/MachineInstructionLabel.java diff --git a/vadl/main/vadl/gcb/passes/MachineInstructionLabelGroup.java b/vadl-lcb-gcb/main/vadl/gcb/passes/MachineInstructionLabelGroup.java similarity index 100% rename from vadl/main/vadl/gcb/passes/MachineInstructionLabelGroup.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/MachineInstructionLabelGroup.java diff --git a/vadl/main/vadl/gcb/passes/PredicateFunctionInlinerPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/PredicateFunctionInlinerPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/PredicateFunctionInlinerPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/PredicateFunctionInlinerPass.java diff --git a/vadl/main/vadl/gcb/passes/PseudoInstructionCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/PseudoInstructionCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/PseudoInstructionCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/PseudoInstructionCtx.java diff --git a/vadl/main/vadl/gcb/passes/PseudoInstructionLabel.java b/vadl-lcb-gcb/main/vadl/gcb/passes/PseudoInstructionLabel.java similarity index 100% rename from vadl/main/vadl/gcb/passes/PseudoInstructionLabel.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/PseudoInstructionLabel.java diff --git a/vadl/main/vadl/gcb/passes/RegisterRef.java b/vadl-lcb-gcb/main/vadl/gcb/passes/RegisterRef.java similarity index 100% rename from vadl/main/vadl/gcb/passes/RegisterRef.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/RegisterRef.java diff --git a/vadl/main/vadl/gcb/passes/RelocationKindCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/RelocationKindCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/RelocationKindCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/RelocationKindCtx.java diff --git a/vadl/main/vadl/gcb/passes/SetMissingConfigurationValuesPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/SetMissingConfigurationValuesPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/SetMissingConfigurationValuesPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/SetMissingConfigurationValuesPass.java diff --git a/vadl/main/vadl/gcb/passes/ValueRange.java b/vadl-lcb-gcb/main/vadl/gcb/passes/ValueRange.java similarity index 100% rename from vadl/main/vadl/gcb/passes/ValueRange.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/ValueRange.java diff --git a/vadl/main/vadl/gcb/passes/ValueRangeCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/ValueRangeCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/ValueRangeCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/ValueRangeCtx.java diff --git a/vadl/main/vadl/gcb/passes/assembly/AssemblyConcatBuiltinMergingPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/assembly/AssemblyConcatBuiltinMergingPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/assembly/AssemblyConcatBuiltinMergingPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/assembly/AssemblyConcatBuiltinMergingPass.java diff --git a/vadl/main/vadl/gcb/passes/assembly/AssemblyConstant.java b/vadl-lcb-gcb/main/vadl/gcb/passes/assembly/AssemblyConstant.java similarity index 100% rename from vadl/main/vadl/gcb/passes/assembly/AssemblyConstant.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/assembly/AssemblyConstant.java diff --git a/vadl/main/vadl/gcb/passes/assembly/AssemblyRegisterNode.java b/vadl-lcb-gcb/main/vadl/gcb/passes/assembly/AssemblyRegisterNode.java similarity index 100% rename from vadl/main/vadl/gcb/passes/assembly/AssemblyRegisterNode.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/assembly/AssemblyRegisterNode.java diff --git a/vadl/main/vadl/gcb/passes/assembly/visitors/AssemblyVisitor.java b/vadl-lcb-gcb/main/vadl/gcb/passes/assembly/visitors/AssemblyVisitor.java similarity index 100% rename from vadl/main/vadl/gcb/passes/assembly/visitors/AssemblyVisitor.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/assembly/visitors/AssemblyVisitor.java diff --git a/vadl/main/vadl/gcb/passes/encodingGeneration/GenerateFieldAccessEncodingAndPredicateFunctionsPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/GenerateFieldAccessEncodingAndPredicateFunctionsPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/encodingGeneration/GenerateFieldAccessEncodingAndPredicateFunctionsPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/GenerateFieldAccessEncodingAndPredicateFunctionsPass.java diff --git a/vadl/main/vadl/gcb/passes/encodingGeneration/strategies/EncodingPredicateGenerationStrategy.java b/vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/EncodingPredicateGenerationStrategy.java similarity index 100% rename from vadl/main/vadl/gcb/passes/encodingGeneration/strategies/EncodingPredicateGenerationStrategy.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/EncodingPredicateGenerationStrategy.java diff --git a/vadl/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ArithmeticImmediateEncodingPredicateStrategy.java b/vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ArithmeticImmediateEncodingPredicateStrategy.java similarity index 100% rename from vadl/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ArithmeticImmediateEncodingPredicateStrategy.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ArithmeticImmediateEncodingPredicateStrategy.java diff --git a/vadl/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ShiftedImmediateEncodingPredicateStrategy.java b/vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ShiftedImmediateEncodingPredicateStrategy.java similarity index 100% rename from vadl/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ShiftedImmediateEncodingPredicateStrategy.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/impl/ShiftedImmediateEncodingPredicateStrategy.java diff --git a/vadl/main/vadl/gcb/passes/encodingGeneration/strategies/impl/TrivialImmediateEncodingPredicateStrategy.java b/vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/impl/TrivialImmediateEncodingPredicateStrategy.java similarity index 100% rename from vadl/main/vadl/gcb/passes/encodingGeneration/strategies/impl/TrivialImmediateEncodingPredicateStrategy.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/encodingGeneration/strategies/impl/TrivialImmediateEncodingPredicateStrategy.java diff --git a/vadl/main/vadl/gcb/passes/operands/CompilerInstructionOperandsCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/CompilerInstructionOperandsCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/CompilerInstructionOperandsCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/CompilerInstructionOperandsCtx.java diff --git a/vadl/main/vadl/gcb/passes/operands/GenerateInstructionOperandsPass.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/GenerateInstructionOperandsPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/GenerateInstructionOperandsPass.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/GenerateInstructionOperandsPass.java diff --git a/vadl/main/vadl/gcb/passes/operands/InstructionOperandsCtx.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/InstructionOperandsCtx.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/InstructionOperandsCtx.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/InstructionOperandsCtx.java diff --git a/vadl/main/vadl/gcb/passes/operands/ReferencesFormatField.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/ReferencesFormatField.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/ReferencesFormatField.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/ReferencesFormatField.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbConstantOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbConstantOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbConstantOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbConstantOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbDefaultInstructionOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbDefaultInstructionOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbDefaultInstructionOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbDefaultInstructionOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbInstructionBareSymbolOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionBareSymbolOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbInstructionBareSymbolOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionBareSymbolOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbInstructionConcreteRegisterOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionConcreteRegisterOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbInstructionConcreteRegisterOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionConcreteRegisterOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbInstructionImmediateOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionImmediateOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbInstructionImmediateOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionImmediateOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbInstructionIndexedRegisterFileOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionIndexedRegisterFileOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbInstructionIndexedRegisterFileOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionIndexedRegisterFileOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbInstructionOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbInstructionOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/GcbInstructionRegisterFileOperand.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionRegisterFileOperand.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/GcbInstructionRegisterFileOperand.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/GcbInstructionRegisterFileOperand.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/InstructionOperandNamePrintable.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/InstructionOperandNamePrintable.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/InstructionOperandNamePrintable.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/InstructionOperandNamePrintable.java diff --git a/vadl/main/vadl/gcb/passes/operands/model/InstructionOperandPrintable.java b/vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/InstructionOperandPrintable.java similarity index 100% rename from vadl/main/vadl/gcb/passes/operands/model/InstructionOperandPrintable.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/operands/model/InstructionOperandPrintable.java diff --git a/vadl/main/vadl/gcb/passes/relocation/BitMaskFunctionGenerator.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/BitMaskFunctionGenerator.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/BitMaskFunctionGenerator.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/BitMaskFunctionGenerator.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/AutomaticallyGeneratedRelocation.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/AutomaticallyGeneratedRelocation.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/AutomaticallyGeneratedRelocation.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/AutomaticallyGeneratedRelocation.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/CompilerRelocation.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/CompilerRelocation.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/CompilerRelocation.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/CompilerRelocation.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/ElfRelocationName.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/ElfRelocationName.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/ElfRelocationName.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/ElfRelocationName.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/Fixup.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/Fixup.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/Fixup.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/Fixup.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/FixupName.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/FixupName.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/FixupName.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/FixupName.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/HasRelocationComputationAndUpdate.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/HasRelocationComputationAndUpdate.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/HasRelocationComputationAndUpdate.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/HasRelocationComputationAndUpdate.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/ImplementedUserSpecifiedRelocation.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/ImplementedUserSpecifiedRelocation.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/ImplementedUserSpecifiedRelocation.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/ImplementedUserSpecifiedRelocation.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/Modifier.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/Modifier.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/Modifier.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/Modifier.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/RelocationName.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/RelocationName.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/RelocationName.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/RelocationName.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/RelocationsBeforeElfExpansion.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/RelocationsBeforeElfExpansion.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/RelocationsBeforeElfExpansion.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/RelocationsBeforeElfExpansion.java diff --git a/vadl/main/vadl/gcb/passes/relocation/model/UserSpecifiedRelocation.java b/vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/UserSpecifiedRelocation.java similarity index 100% rename from vadl/main/vadl/gcb/passes/relocation/model/UserSpecifiedRelocation.java rename to vadl-lcb-gcb/main/vadl/gcb/passes/relocation/model/UserSpecifiedRelocation.java diff --git a/vadl/main/vadl/gcb/valuetypes/CompilerRegister.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/CompilerRegister.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/CompilerRegister.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/CompilerRegister.java diff --git a/vadl/main/vadl/gcb/valuetypes/CompilerRegisterClass.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/CompilerRegisterClass.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/CompilerRegisterClass.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/CompilerRegisterClass.java diff --git a/vadl/main/vadl/gcb/valuetypes/GeneralCompilerRegister.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/GeneralCompilerRegister.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/GeneralCompilerRegister.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/GeneralCompilerRegister.java diff --git a/vadl/main/vadl/gcb/valuetypes/IndexedCompilerRegister.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/IndexedCompilerRegister.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/IndexedCompilerRegister.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/IndexedCompilerRegister.java diff --git a/vadl/main/vadl/gcb/valuetypes/ProcessorName.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/ProcessorName.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/ProcessorName.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/ProcessorName.java diff --git a/vadl/main/vadl/gcb/valuetypes/TargetName.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/TargetName.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/TargetName.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/TargetName.java diff --git a/vadl/main/vadl/gcb/valuetypes/ValueType.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/ValueType.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/ValueType.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/ValueType.java diff --git a/vadl/main/vadl/gcb/valuetypes/VariantKind.java b/vadl-lcb-gcb/main/vadl/gcb/valuetypes/VariantKind.java similarity index 100% rename from vadl/main/vadl/gcb/valuetypes/VariantKind.java rename to vadl-lcb-gcb/main/vadl/gcb/valuetypes/VariantKind.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/AbstractAssemblyInstructionPrinterHandler.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AbstractAssemblyInstructionPrinterHandler.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/AbstractAssemblyInstructionPrinterHandler.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AbstractAssemblyInstructionPrinterHandler.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterCodeGenerator.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterCodeGenerator.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterCodeGenerator.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterCodeGenerator.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterImmediateHandler.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterImmediateHandler.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterImmediateHandler.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterImmediateHandler.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterLabelHandler.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterLabelHandler.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterLabelHandler.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyInstructionPrinterLabelHandler.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/AssemblyParserCodeGenerator.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyParserCodeGenerator.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/AssemblyParserCodeGenerator.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/AssemblyParserCodeGenerator.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/ParserGenerator.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/ParserGenerator.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/ParserGenerator.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/ParserGenerator.java diff --git a/vadl/main/vadl/lcb/codegen/assembly/WrapInIntegralPass.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/WrapInIntegralPass.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/assembly/WrapInIntegralPass.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/assembly/WrapInIntegralPass.java diff --git a/vadl/main/vadl/lcb/codegen/expansion/CompilerInstructionExpansionCodeGenerator.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/expansion/CompilerInstructionExpansionCodeGenerator.java similarity index 99% rename from vadl/main/vadl/lcb/codegen/expansion/CompilerInstructionExpansionCodeGenerator.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/expansion/CompilerInstructionExpansionCodeGenerator.java index 3d3be9e41..e26c68678 100644 --- a/vadl/main/vadl/lcb/codegen/expansion/CompilerInstructionExpansionCodeGenerator.java +++ b/vadl-lcb-gcb/main/vadl/lcb/codegen/expansion/CompilerInstructionExpansionCodeGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -38,9 +38,7 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.annotation.Nonnull; import javax.annotation.Nullable; -import org.jetbrains.annotations.NotNull; import vadl.cppCodeGen.FunctionCodeGenerator; import vadl.cppCodeGen.SymbolTable; import vadl.cppCodeGen.context.CGenContext; @@ -79,6 +77,7 @@ import vadl.viam.Relocation; import vadl.viam.graph.HasRegisterTensor; import vadl.viam.graph.Node; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.DirectionalNode; import vadl.viam.graph.control.InstrCallNode; @@ -99,7 +98,6 @@ import vadl.viam.graph.dependency.ReadSignalNode; import vadl.viam.graph.dependency.ReadStageOutputNode; import vadl.viam.graph.dependency.TensorNode; -import vadl.viam.passes.CfgTraverser; /** * A {@link PseudoInstruction} contains one or multiple {@link Instruction}. This generator @@ -1940,4 +1938,4 @@ public void fieldUsedAsImmediateAndFieldAccessAssignmentAndArbitraryExpression( public IdentifyFieldUsagePass.ImmediateDetectionContainer fieldUsages() { return fieldUsages; } -} \ No newline at end of file +} diff --git a/vadl/main/vadl/lcb/codegen/relocation/RelocationCodeGenerator.java b/vadl-lcb-gcb/main/vadl/lcb/codegen/relocation/RelocationCodeGenerator.java similarity index 100% rename from vadl/main/vadl/lcb/codegen/relocation/RelocationCodeGenerator.java rename to vadl-lcb-gcb/main/vadl/lcb/codegen/relocation/RelocationCodeGenerator.java diff --git a/vadl/main/vadl/lcb/passes/TableGenInstructionCtx.java b/vadl-lcb-gcb/main/vadl/lcb/passes/TableGenInstructionCtx.java similarity index 100% rename from vadl/main/vadl/lcb/passes/TableGenInstructionCtx.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/TableGenInstructionCtx.java diff --git a/vadl/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerationPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerationPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerationPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerationPass.java diff --git a/vadl/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerator.java b/vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerator.java similarity index 100% rename from vadl/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerator.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmGrammarRuleGenerator.java diff --git a/vadl/main/vadl/lcb/passes/asm/AsmRuleContext.java b/vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmRuleContext.java similarity index 100% rename from vadl/main/vadl/lcb/passes/asm/AsmRuleContext.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmRuleContext.java diff --git a/vadl/main/vadl/lcb/passes/asm/AsmSyntax.java b/vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmSyntax.java similarity index 100% rename from vadl/main/vadl/lcb/passes/asm/AsmSyntax.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/asm/AsmSyntax.java diff --git a/vadl/main/vadl/lcb/passes/isaMatching/IsaMachineInstructionMatchingPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/IsaMachineInstructionMatchingPass.java similarity index 99% rename from vadl/main/vadl/lcb/passes/isaMatching/IsaMachineInstructionMatchingPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/IsaMachineInstructionMatchingPass.java index 83ad70947..cf6ecfed2 100644 --- a/vadl/main/vadl/lcb/passes/isaMatching/IsaMachineInstructionMatchingPass.java +++ b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/IsaMachineInstructionMatchingPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -73,7 +73,6 @@ import javax.annotation.Nullable; import vadl.configuration.GcbConfiguration; import vadl.error.Diagnostic; -import vadl.gcb.annotations.StatusRegisterAnnotation; import vadl.gcb.passes.IsaMatchingUtils; import vadl.gcb.passes.MachineInstructionCtx; import vadl.gcb.passes.MachineInstructionLabel; @@ -90,6 +89,7 @@ import vadl.viam.Instruction; import vadl.viam.InstructionSetArchitecture; import vadl.viam.Specification; +import vadl.viam.annotations.StatusRegisterAnnotation; import vadl.viam.graph.Graph; import vadl.viam.graph.HasRegisterTensor; import vadl.viam.graph.Node; diff --git a/vadl/main/vadl/lcb/passes/isaMatching/IsaPseudoInstructionMatchingPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/IsaPseudoInstructionMatchingPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/isaMatching/IsaPseudoInstructionMatchingPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/IsaPseudoInstructionMatchingPass.java diff --git a/vadl/main/vadl/lcb/passes/isaMatching/database/BehaviorQuery.java b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/BehaviorQuery.java similarity index 100% rename from vadl/main/vadl/lcb/passes/isaMatching/database/BehaviorQuery.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/BehaviorQuery.java diff --git a/vadl/main/vadl/lcb/passes/isaMatching/database/Database.java b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/Database.java similarity index 100% rename from vadl/main/vadl/lcb/passes/isaMatching/database/Database.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/Database.java diff --git a/vadl/main/vadl/lcb/passes/isaMatching/database/Query.java b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/Query.java similarity index 100% rename from vadl/main/vadl/lcb/passes/isaMatching/database/Query.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/Query.java diff --git a/vadl/main/vadl/lcb/passes/isaMatching/database/QueryResult.java b/vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/QueryResult.java similarity index 100% rename from vadl/main/vadl/lcb/passes/isaMatching/database/QueryResult.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/isaMatching/database/QueryResult.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/CreateFunctionsFromImmediatesPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/CreateFunctionsFromImmediatesPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/CreateFunctionsFromImmediatesPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/CreateFunctionsFromImmediatesPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenAbiSequenceInstructionRecordPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenAbiSequenceInstructionRecordPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenAbiSequenceInstructionRecordPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenAbiSequenceInstructionRecordPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenMachineInstructionRecordPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenMachineInstructionRecordPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenMachineInstructionRecordPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenMachineInstructionRecordPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenPseudoInstructionRecordPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenPseudoInstructionRecordPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenPseudoInstructionRecordPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenPseudoInstructionRecordPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenRegistersPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenRegistersPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/GenerateTableGenRegistersPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/GenerateTableGenRegistersPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/ISelLoweringOperationActionPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/ISelLoweringOperationActionPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/ISelLoweringOperationActionPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/ISelLoweringOperationActionPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/LlvmLoweringPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmLoweringPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/LlvmLoweringPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmLoweringPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/LlvmMayLoadMemory.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmMayLoadMemory.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/LlvmMayLoadMemory.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmMayLoadMemory.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/LlvmMayStoreMemory.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmMayStoreMemory.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/LlvmMayStoreMemory.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmMayStoreMemory.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/LlvmNodeLowerable.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmNodeLowerable.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/LlvmNodeLowerable.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmNodeLowerable.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/LlvmSideEffectPatternIncluded.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmSideEffectPatternIncluded.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/LlvmSideEffectPatternIncluded.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/LlvmSideEffectPatternIncluded.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/RemoveRegisterWritesPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/RemoveRegisterWritesPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/RemoveRegisterWritesPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/RemoveRegisterWritesPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/RemoveTruncationAndAnyExtPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/RemoveTruncationAndAnyExtPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/RemoveTruncationAndAnyExtPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/RemoveTruncationAndAnyExtPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/compensation/CompensationPatternPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/compensation/CompensationPatternPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/compensation/CompensationPatternPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/compensation/CompensationPatternPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/compensation/strategies/LlvmCompensationPatternStrategy.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/compensation/strategies/LlvmCompensationPatternStrategy.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/compensation/strategies/LlvmCompensationPatternStrategy.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/compensation/strategies/LlvmCompensationPatternStrategy.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/LlvmLoweringRecord.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/LlvmLoweringRecord.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/LlvmLoweringRecord.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/LlvmLoweringRecord.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/LlvmMachineInstructionUtil.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/LlvmMachineInstructionUtil.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/LlvmMachineInstructionUtil.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/LlvmMachineInstructionUtil.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/MachineValueType.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/MachineValueType.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/MachineValueType.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/MachineValueType.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapper.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapper.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapper.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapper.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionParameterNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionParameterNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionParameterNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionParameterNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionValueNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionValueNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionValueNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbMachineInstructionValueNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbPseudoInstructionNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbPseudoInstructionNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbPseudoInstructionNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/LcbPseudoInstructionNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/OutputInstructionName.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/OutputInstructionName.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/machineDag/OutputInstructionName.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/machineDag/OutputInstructionName.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAddSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAddSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAddSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAddSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAndSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAndSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAndSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmAndSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBSwapSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBSwapSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBSwapSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBSwapSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBasicBlockSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBasicBlockSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBasicBlockSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBasicBlockSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCcSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCcSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCcSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCcSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCondSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCondSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCondSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrCondSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrindSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrindSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrindSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmBrindSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmCondCode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmCondCode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmCondCode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmCondCode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmConstantSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmConstantSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmConstantSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmConstantSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmExtLoad.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmExtLoad.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmExtLoad.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmExtLoad.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFieldAccessRefNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFieldAccessRefNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFieldAccessRefNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFieldAccessRefNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFrameIndexSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFrameIndexSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFrameIndexSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmFrameIndexSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmLoadSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmLoadSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmLoadSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmLoadSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmMulSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmMulSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmMulSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmMulSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmNodeReplaceable.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmNodeReplaceable.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmNodeReplaceable.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmNodeReplaceable.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmOrSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmOrSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmOrSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmOrSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadArtificialResourceNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadArtificialResourceNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadArtificialResourceNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadArtificialResourceNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadRegFileNode.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadRegFileNode.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadRegFileNode.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadRegFileNode.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadResourceFactory.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadResourceFactory.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadResourceFactory.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmReadResourceFactory.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotlSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotlSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotlSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotlSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotrSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotrSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotrSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmRotrSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSDivSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSDivSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSDivSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSDivSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSExtLoad.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSExtLoad.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSExtLoad.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSExtLoad.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulhSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulhSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulhSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSMulhSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSRemSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSRemSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSRemSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSRemSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetCondSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetCondSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetCondSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetCondSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetccSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetccSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetccSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSetccSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlPartsSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlPartsSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlPartsSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlPartsSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShlSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShrSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShrSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShrSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmShrSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraPartsSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraPartsSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraPartsSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraPartsSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSraSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSrlPartsSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSrlPartsSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSrlPartsSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSrlPartsSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmStoreSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmStoreSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmStoreSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmStoreSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSubSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSubSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSubSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmSubSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTargetCallSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTargetCallSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTargetCallSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTargetCallSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTruncStore.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTruncStore.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTruncStore.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTruncStore.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTypeCastSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTypeCastSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTypeCastSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmTypeCastSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUDivSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUDivSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUDivSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUDivSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulLoHiSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulLoHiSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulLoHiSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulLoHiSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulhSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulhSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulhSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUMulhSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmURemSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmURemSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmURemSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmURemSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUnlowerableSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUnlowerableSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUnlowerableSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmUnlowerableSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmXorSD.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmXorSD.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmXorSD.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmXorSD.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmZExtLoad.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmZExtLoad.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmZExtLoad.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/domain/selectionDag/LlvmZExtLoad.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/immediates/GenerateTableGenImmediateRecordPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/immediates/GenerateTableGenImmediateRecordPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/immediates/GenerateTableGenImmediateRecordPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/immediates/GenerateTableGenImmediateRecordPass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/LlvmCompilerInstructionLowerStrategy.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LlvmCompilerInstructionLowerStrategy.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/LlvmCompilerInstructionLowerStrategy.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LlvmCompilerInstructionLowerStrategy.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/LlvmInstructionLoweringStrategy.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LlvmInstructionLoweringStrategy.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/LlvmInstructionLoweringStrategy.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LlvmInstructionLoweringStrategy.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/LlvmPseudoInstructionLowerStrategy.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LlvmPseudoInstructionLowerStrategy.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/LlvmPseudoInstructionLowerStrategy.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LlvmPseudoInstructionLowerStrategy.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/LoweringStrategyUtils.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LoweringStrategyUtils.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/LoweringStrategyUtils.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/LoweringStrategyUtils.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmCompilerInstructionLoweringDefaultStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmCompilerInstructionLoweringDefaultStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmCompilerInstructionLoweringDefaultStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmCompilerInstructionLoweringDefaultStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringAddImmediateStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringAddImmediateStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringAddImmediateStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringAddImmediateStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesWithStatusRegistersStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesWithStatusRegistersStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesWithStatusRegistersStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringConditionalBranchesWithStatusRegistersStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringDefaultStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringDefaultStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringDefaultStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringDefaultStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringFrameIndexHelper.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringFrameIndexHelper.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringFrameIndexHelper.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringFrameIndexHelper.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringIndirectJumpAndLinkStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringIndirectJumpAndLinkStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringIndirectJumpAndLinkStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringIndirectJumpAndLinkStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringLoadUpperImmediateStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringLoadUpperImmediateStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringLoadUpperImmediateStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringLoadUpperImmediateStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryLoadStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryLoadStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryLoadStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryLoadStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryStoreStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryStoreStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryStoreStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringMemoryStoreStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalIndirectJumpWithoutLinkRegistersStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalIndirectJumpWithoutLinkRegistersStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalIndirectJumpWithoutLinkRegistersStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalIndirectJumpWithoutLinkRegistersStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithLinkRegistersStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithLinkRegistersStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithLinkRegistersStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithLinkRegistersStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithoutLinkRegistersStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithoutLinkRegistersStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithoutLinkRegistersStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringUnconditionalJumpWithoutLinkRegistersStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringXoriAndOriStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringXoriAndOriStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringXoriAndOriStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmInstructionLoweringXoriAndOriStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringDefaultStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringDefaultStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringDefaultStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringDefaultStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringLoadGlobalAddressStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringLoadGlobalAddressStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringLoadGlobalAddressStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringLoadGlobalAddressStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringUnconditionalJumpsStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringUnconditionalJumpsStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringUnconditionalJumpsStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/LlvmPseudoInstructionLoweringUnconditionalJumpsStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanImmediateUnsignedConditionalsStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanImmediateUnsignedConditionalsStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanImmediateUnsignedConditionalsStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanImmediateUnsignedConditionalsStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanSignedConditionalsStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanSignedConditionalsStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanSignedConditionalsStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanSignedConditionalsStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanUnsignedConditionalsStrategyImpl.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanUnsignedConditionalsStrategyImpl.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanUnsignedConditionalsStrategyImpl.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/instruction/conditionals/LlvmInstructionLoweringLessThanUnsignedConditionalsStrategyImpl.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandler.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandler.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandler.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandler.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerForMemoryInstructionsReplacement.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerForMemoryInstructionsReplacement.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerForMemoryInstructionsReplacement.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerForMemoryInstructionsReplacement.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerWithBasicBlockReplacement.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerWithBasicBlockReplacement.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerWithBasicBlockReplacement.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/nodeLowering/LcbNodeReplacementHandlerWithBasicBlockReplacement.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenMachineInstructionVisitor.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenMachineInstructionVisitor.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenMachineInstructionVisitor.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenMachineInstructionVisitor.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenNodeVisitor.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenNodeVisitor.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenNodeVisitor.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/strategies/visitors/TableGenNodeVisitor.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenImmediateOperandRenderer.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenImmediateOperandRenderer.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenImmediateOperandRenderer.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenImmediateOperandRenderer.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstAliasRenderer.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstAliasRenderer.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstAliasRenderer.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstAliasRenderer.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionPatternRenderer.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionPatternRenderer.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionPatternRenderer.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionPatternRenderer.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionRenderer.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionRenderer.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionRenderer.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenInstructionRenderer.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenMachineInstructionPrinterVisitor.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenMachineInstructionPrinterVisitor.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenMachineInstructionPrinterVisitor.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenMachineInstructionPrinterVisitor.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPatternPrinterVisitor.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPatternPrinterVisitor.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPatternPrinterVisitor.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPatternPrinterVisitor.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPseudoInstExpansionRenderer.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPseudoInstExpansionRenderer.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPseudoInstExpansionRenderer.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/lowering/TableGenPseudoInstExpansionRenderer.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenCompilerInstruction.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenCompilerInstruction.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenCompilerInstruction.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenCompilerInstruction.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenImmediateRecord.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenImmediateRecord.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenImmediateRecord.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenImmediateRecord.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstAlias.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstAlias.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstAlias.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstAlias.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstruction.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstruction.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstruction.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstruction.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstructionConstraint.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstructionConstraint.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstructionConstraint.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenInstructionConstraint.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenMachineInstruction.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenMachineInstruction.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenMachineInstruction.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenMachineInstruction.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPattern.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPattern.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPattern.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPattern.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstExpansionPattern.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstExpansionPattern.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstExpansionPattern.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstExpansionPattern.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstruction.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstruction.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstruction.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenPseudoInstruction.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionPattern.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionPattern.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionPattern.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionPattern.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionWithOutputPattern.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionWithOutputPattern.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionWithOutputPattern.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/TableGenSelectionWithOutputPattern.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenAliasRegisterClass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenAliasRegisterClass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenAliasRegisterClass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenAliasRegisterClass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegister.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegister.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegister.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegister.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterAlias.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterAlias.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterAlias.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterAlias.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterClass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterClass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterClass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/register/TableGenRegisterClass.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/ReferencesImmediateOperand.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/ReferencesImmediateOperand.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/ReferencesImmediateOperand.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/ReferencesImmediateOperand.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionFrameRegisterOperand.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionFrameRegisterOperand.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionFrameRegisterOperand.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionFrameRegisterOperand.java diff --git a/vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionLabelOperand.java b/vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionLabelOperand.java similarity index 100% rename from vadl/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionLabelOperand.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/llvmLowering/tablegen/model/tableGenOperand/TableGenInstructionLabelOperand.java diff --git a/vadl/main/vadl/lcb/passes/operands/TableGenInstructionImmediateOperand.java b/vadl-lcb-gcb/main/vadl/lcb/passes/operands/TableGenInstructionImmediateOperand.java similarity index 100% rename from vadl/main/vadl/lcb/passes/operands/TableGenInstructionImmediateOperand.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/operands/TableGenInstructionImmediateOperand.java diff --git a/vadl/main/vadl/lcb/passes/pseudo/AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/pseudo/AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/pseudo/AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/pseudo/AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass.java diff --git a/vadl/main/vadl/lcb/passes/pseudo/PseudoExpansionFunctionGeneratorPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/pseudo/PseudoExpansionFunctionGeneratorPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/pseudo/PseudoExpansionFunctionGeneratorPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/pseudo/PseudoExpansionFunctionGeneratorPass.java diff --git a/vadl/main/vadl/lcb/passes/relocation/GenerateLinkerComponentsPass.java b/vadl-lcb-gcb/main/vadl/lcb/passes/relocation/GenerateLinkerComponentsPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/relocation/GenerateLinkerComponentsPass.java rename to vadl-lcb-gcb/main/vadl/lcb/passes/relocation/GenerateLinkerComponentsPass.java diff --git a/vadl/main/vadl/lcb/template/CommonVarNames.java b/vadl-lcb-gcb/main/vadl/lcb/template/CommonVarNames.java similarity index 100% rename from vadl/main/vadl/lcb/template/CommonVarNames.java rename to vadl-lcb-gcb/main/vadl/lcb/template/CommonVarNames.java diff --git a/vadl/main/vadl/lcb/template/EmitLcbMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/EmitLcbMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/EmitLcbMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/EmitLcbMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/LcbTemplateRenderingPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/LcbTemplateRenderingPass.java similarity index 100% rename from vadl/main/vadl/lcb/template/LcbTemplateRenderingPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/LcbTemplateRenderingPass.java diff --git a/vadl/main/vadl/lcb/template/clang/include/Basic/EmitBuiltinsTableGenPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitBuiltinsTableGenPass.java similarity index 96% rename from vadl/main/vadl/lcb/template/clang/include/Basic/EmitBuiltinsTableGenPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitBuiltinsTableGenPass.java index 71e3e70ac..f6c261bb9 100644 --- a/vadl/main/vadl/lcb/template/clang/include/Basic/EmitBuiltinsTableGenPass.java +++ b/vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitBuiltinsTableGenPass.java @@ -28,7 +28,6 @@ import vadl.gcb.passes.GenerateGcbIntrinsicsPass; import vadl.gcb.passes.operands.model.GcbInstructionOperand; import vadl.gcb.passes.operands.model.GcbInstructionRegisterFileOperand; -import vadl.gcb.valuetypes.ValueType; import vadl.lcb.passes.llvmLowering.GenerateTableGenMachineInstructionRecordPass; import vadl.lcb.passes.llvmLowering.tablegen.model.TableGenMachineInstruction; import vadl.lcb.passes.operands.TableGenInstructionImmediateOperand; @@ -120,8 +119,8 @@ private Optional pointerType(Graph snapshot) { } private String mapPointerTy(int bitWidth) { - return CppTypeMap.getCppBuiltinTypeNameByVadlType(ValueType.from( - Type.unsignedInt(bitWidth)).orElseThrow()) + "*"; + return CppTypeMap.getCppBuiltinTypeNameByVadlType(Type.unsignedInt(bitWidth).asDataType()) + + "*"; } private String mapTy(Optional operand) { @@ -139,7 +138,7 @@ private String mapTy(Optional operand) { .build(); } - return CppTypeMap.getCppBuiltinTypeNameByVadlType(ValueType.from(ty).get()); + return CppTypeMap.getCppBuiltinTypeNameByVadlType(ty); } else if (o instanceof TableGenInstructionImmediateOperand immediateOperand) { var ty = immediateOperand.immediateOperand().llvmType(); @@ -148,7 +147,7 @@ private String mapTy(Optional operand) { .build(); } - return CppTypeMap.getCppBuiltinTypeNameByVadlType(ty); + return CppTypeMap.getCppBuiltinTypeName(ty.getBitwidth(), ty.isSigned()); } throw Diagnostic.error("Operand not supported for builtin generation", diff --git a/vadl/main/vadl/lcb/template/clang/include/Basic/EmitCMakeListsPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitCMakeListsPass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/include/Basic/EmitCMakeListsPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitCMakeListsPass.java diff --git a/vadl/main/vadl/lcb/template/clang/include/Basic/EmitTargetBuiltinsHeaderPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitTargetBuiltinsHeaderPass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/include/Basic/EmitTargetBuiltinsHeaderPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/include/Basic/EmitTargetBuiltinsHeaderPass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/Basic/EmitClangBasicCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/EmitClangBasicCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/Basic/EmitClangBasicCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/EmitClangBasicCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetsFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetsFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetsFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Basic/Targets/EmitClangTargetsFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCGBuiltinFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCGBuiltinFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCGBuiltinFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCGBuiltinFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenFunctionHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenFunctionHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenFunctionHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenFunctionHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenModuleFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenTargetInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenTargetInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenTargetInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/EmitCodeGenTargetInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/CodeGen/Targets/EmitClangCodeGenTargetFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/Targets/EmitClangCodeGenTargetFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/CodeGen/Targets/EmitClangCodeGenTargetFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/CodeGen/Targets/EmitClangCodeGenTargetFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangCommonArgsToolChainFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangCommonArgsToolChainFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangCommonArgsToolChainFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangCommonArgsToolChainFilePass.java diff --git a/vadl/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangToolChainFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangToolChainFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangToolChainFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/clang/lib/Driver/ToolChains/EmitClangToolChainFilePass.java diff --git a/vadl/main/vadl/lcb/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePass.java diff --git a/vadl/main/vadl/lcb/template/include/llvm/BinaryFormat/EmitElfHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/BinaryFormat/EmitElfHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/include/llvm/BinaryFormat/EmitElfHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/BinaryFormat/EmitElfHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/include/llvm/Object/EmitELFObjectHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/Object/EmitELFObjectHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/include/llvm/Object/EmitELFObjectHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/Object/EmitELFObjectHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/include/llvm/TargetParser/EmitTripleHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/TargetParser/EmitTripleHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/include/llvm/TargetParser/EmitTripleHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/include/llvm/TargetParser/EmitTripleHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/IR/EmitCMakeListsPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/IR/EmitCMakeListsPass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/IR/EmitCMakeListsPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/IR/EmitCMakeListsPass.java diff --git a/vadl/main/vadl/lcb/template/lib/IR/EmitMiddleendIntrinsicsTableGenPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/IR/EmitMiddleendIntrinsicsTableGenPass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/IR/EmitMiddleendIntrinsicsTableGenPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/IR/EmitMiddleendIntrinsicsTableGenPass.java diff --git a/vadl/main/vadl/lcb/template/lib/IR/EmitMiddleendMainIntrinsicsTableGenPass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/IR/EmitMiddleendMainIntrinsicsTableGenPass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/IR/EmitMiddleendMainIntrinsicsTableGenPass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/IR/EmitMiddleendMainIntrinsicsTableGenPass.java diff --git a/vadl/main/vadl/lcb/template/lib/Misc/EmitBenchmarkRegisterHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Misc/EmitBenchmarkRegisterHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Misc/EmitBenchmarkRegisterHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Misc/EmitBenchmarkRegisterHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Object/EmitElfCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Object/EmitElfCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Object/EmitElfCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Object/EmitElfCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParsedOperandHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmParserCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitAsmPrinterCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitAsmPrinterCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitAsmPrinterCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitAsmPrinterCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitAsmPrinterHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitAsmPrinterHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitAsmPrinterHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitAsmPrinterHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitCallingConvTableGenFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitCallingConvTableGenFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitCallingConvTableGenFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitCallingConvTableGenFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitDAGToDAGISelCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitDAGToDAGISelCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitDAGToDAGISelCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitDAGToDAGISelCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitDAGToDAGIselHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitDAGToDAGIselHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitDAGToDAGIselHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitDAGToDAGIselHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitFrameLoweringCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitFrameLoweringCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitFrameLoweringCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitFrameLoweringCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitFrameLoweringHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitFrameLoweringHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitFrameLoweringHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitFrameLoweringHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitISelLoweringCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitISelLoweringCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitISelLoweringCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitISelLoweringCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitISelLoweringHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitISelLoweringHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitISelLoweringHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitISelLoweringHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitInstrInfoCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitInstrInfoCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitInstrInfoCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitInstrInfoCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitInstrInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitInstrInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitInstrInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitInstrInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitInstrInfoTableGenFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitInstrInfoTableGenFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitInstrInfoTableGenFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitInstrInfoTableGenFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitMCInstLowerCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitMCInstLowerCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitMCInstLowerCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitMCInstLowerCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitMCInstLowerHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitMCInstLowerHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitMCInstLowerHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitMCInstLowerHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitMachineFunctionInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitMachineFunctionInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitMachineFunctionInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitMachineFunctionInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitPassConfigCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitPassConfigCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitPassConfigCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitPassConfigCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitPassConfigHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitPassConfigHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitPassConfigHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitPassConfigHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitRegisterInfoCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitRegisterInfoCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitRegisterInfoCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitRegisterInfoCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitRegisterInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitRegisterInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitRegisterInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitRegisterInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitRegisterInfoTableGenFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitRegisterInfoTableGenFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitRegisterInfoTableGenFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitRegisterInfoTableGenFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitSubTargetCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitSubTargetCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitSubTargetCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitSubTargetCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitSubTargetHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitSubTargetHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitSubTargetHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitSubTargetHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetMachineCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetMachineCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetMachineCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetMachineCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetMachineHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetMachineHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetMachineHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetMachineHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetObjectFileHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetTableGenFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetTableGenFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetTableGenFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetTableGenFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitTargetTransformInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderPPFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderPPFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderPPFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/EmitVadlBuiltinHeaderPPFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmBackendHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmStreamerHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsCppFilePass.java similarity index 98% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsCppFilePass.java index 57b1d2085..9cdee535c 100644 --- a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsCppFilePass.java +++ b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsCppFilePass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -27,7 +27,6 @@ import java.util.stream.Stream; import vadl.configuration.LcbConfiguration; import vadl.error.Diagnostic; -import vadl.gcb.annotations.RelocationSyntaxAnnotation; import vadl.gcb.passes.relocation.model.ImplementedUserSpecifiedRelocation; import vadl.lcb.passes.relocation.GenerateLinkerComponentsPass; import vadl.lcb.template.CommonVarNames; @@ -42,6 +41,7 @@ import vadl.viam.RegisterTensor; import vadl.viam.Specification; import vadl.viam.annotations.AsmParserCaseSensitive; +import vadl.viam.annotations.RelocationSyntaxAnnotation; /** * This file includes the util functions for asm. diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitAsmUtilsHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitConstMatIntHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFObjectWriterHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitELFStreamerHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitFixupKindsHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitFixupKindsHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitFixupKindsHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitFixupKindsHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitInstPrinterHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCAsmInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCCodeEmitterHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCExprHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCInstExpanderHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMCTargetDescHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMcTargetDescCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMcTargetDescCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMcTargetDescCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitMcTargetDescCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitTargetStreamerHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitTargetStreamerHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitTargetStreamerHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/MCTargetDesc/EmitTargetStreamerHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCppFile.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCppFile.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCppFile.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoCppFile.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/TargetInfo/EmitTargetInfoHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/Utils/EmitBaseInfoFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/Utils/EmitBaseInfoFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/Utils/EmitBaseInfoFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/Utils/EmitBaseInfoFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/Target/Utils/EmitImmediateFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/Utils/EmitImmediateFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/Target/Utils/EmitImmediateFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/Target/Utils/EmitImmediateFilePass.java diff --git a/vadl/main/vadl/lcb/template/lib/TargetParser/EmitTripleCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lib/TargetParser/EmitTripleCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lib/TargetParser/EmitTripleCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lib/TargetParser/EmitTripleCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitImmediateUtilsHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitImmediateUtilsHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitImmediateUtilsHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitImmediateUtilsHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldArchFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldArchFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldArchFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldArchFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldVadlBuiltinsHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldVadlBuiltinsHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/Arch/EmitLldVadlBuiltinsHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/Arch/EmitLldVadlBuiltinsHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/EmitLldDriverFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldDriverFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/EmitLldDriverFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldDriverFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/EmitLldELFCMakeFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldELFCMakeFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/EmitLldELFCMakeFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldELFCMakeFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/EmitLldTargetCppFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldTargetCppFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/EmitLldTargetCppFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldTargetCppFilePass.java diff --git a/vadl/main/vadl/lcb/template/lld/ELF/EmitLldTargetHeaderFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldTargetHeaderFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/lld/ELF/EmitLldTargetHeaderFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/lld/ELF/EmitLldTargetHeaderFilePass.java diff --git a/vadl/main/vadl/lcb/template/superClass/AbstractEmitImmediateFilePass.java b/vadl-lcb-gcb/main/vadl/lcb/template/superClass/AbstractEmitImmediateFilePass.java similarity index 100% rename from vadl/main/vadl/lcb/template/superClass/AbstractEmitImmediateFilePass.java rename to vadl-lcb-gcb/main/vadl/lcb/template/superClass/AbstractEmitImmediateFilePass.java diff --git a/vadl/main/vadl/lcb/template/utils/AbiSequencesProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/AbiSequencesProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/AbiSequencesProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/AbiSequencesProvider.java diff --git a/vadl/main/vadl/lcb/template/utils/AbiSequencesUtil.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/AbiSequencesUtil.java similarity index 97% rename from vadl/main/vadl/lcb/template/utils/AbiSequencesUtil.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/AbiSequencesUtil.java index 43eeb860b..cde8bb66f 100644 --- a/vadl/main/vadl/lcb/template/utils/AbiSequencesUtil.java +++ b/vadl-lcb-gcb/main/vadl/lcb/template/utils/AbiSequencesUtil.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -22,12 +22,12 @@ import java.util.Map; import java.util.stream.Stream; import javax.annotation.Nonnull; -import vadl.gcb.annotations.OnlyNegativeNumbersAnnotation; import vadl.gcb.passes.GenerateValueRangeImmediatePass; import vadl.template.Renderable; import vadl.types.BitsType; import vadl.viam.CompilerInstruction; import vadl.viam.Specification; +import vadl.viam.annotations.OnlyNegativeNumbersAnnotation; /** * Utility class. diff --git a/vadl/main/vadl/lcb/template/utils/BaseInfoFunctionProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/BaseInfoFunctionProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/BaseInfoFunctionProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/BaseInfoFunctionProvider.java diff --git a/vadl/main/vadl/lcb/template/utils/DataLayoutProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/DataLayoutProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/DataLayoutProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/DataLayoutProvider.java diff --git a/vadl/main/vadl/lcb/template/utils/ImmediateDecodingFunctionProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/ImmediateDecodingFunctionProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/ImmediateDecodingFunctionProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/ImmediateDecodingFunctionProvider.java diff --git a/vadl/main/vadl/lcb/template/utils/ImmediateEncodingFunctionProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/ImmediateEncodingFunctionProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/ImmediateEncodingFunctionProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/ImmediateEncodingFunctionProvider.java diff --git a/vadl/main/vadl/lcb/template/utils/ImmediatePredicateFunctionProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/ImmediatePredicateFunctionProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/ImmediatePredicateFunctionProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/ImmediatePredicateFunctionProvider.java diff --git a/vadl/main/vadl/lcb/template/utils/PseudoInstructionProvider.java b/vadl-lcb-gcb/main/vadl/lcb/template/utils/PseudoInstructionProvider.java similarity index 100% rename from vadl/main/vadl/lcb/template/utils/PseudoInstructionProvider.java rename to vadl-lcb-gcb/main/vadl/lcb/template/utils/PseudoInstructionProvider.java diff --git a/vadl/main/vadl/lcb/templateUtils/RegisterUtils.java b/vadl-lcb-gcb/main/vadl/lcb/templateUtils/RegisterUtils.java similarity index 100% rename from vadl/main/vadl/lcb/templateUtils/RegisterUtils.java rename to vadl-lcb-gcb/main/vadl/lcb/templateUtils/RegisterUtils.java diff --git a/vadl/main/vadl/lcb/visitors/LcbGraphNodeVisitor.java b/vadl-lcb-gcb/main/vadl/lcb/visitors/LcbGraphNodeVisitor.java similarity index 100% rename from vadl/main/vadl/lcb/visitors/LcbGraphNodeVisitor.java rename to vadl-lcb-gcb/main/vadl/lcb/visitors/LcbGraphNodeVisitor.java diff --git a/vadl-lcb-gcb/main/vadl/pipeline/LcbGcbPassOrders.java b/vadl-lcb-gcb/main/vadl/pipeline/LcbGcbPassOrders.java new file mode 100644 index 000000000..9d71d3328 --- /dev/null +++ b/vadl-lcb-gcb/main/vadl/pipeline/LcbGcbPassOrders.java @@ -0,0 +1,335 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import java.io.IOException; +import vadl.configuration.GcbConfiguration; +import vadl.configuration.LcbConfiguration; +import vadl.gcb.passes.DetermineBuiltinAttributesPass; +import vadl.gcb.passes.DetermineRegisterUsesAndDefsPass; +import vadl.gcb.passes.DetermineRelocationTypeForFieldPass; +import vadl.gcb.passes.GenerateCompilerRegistersPass; +import vadl.gcb.passes.GenerateGcbIntrinsicsPass; +import vadl.gcb.passes.GenerateValueRangeImmediatePass; +import vadl.gcb.passes.IdentifyFieldUsagePass; +import vadl.gcb.passes.InstructionPatternPruningPass; +import vadl.gcb.passes.PredicateFunctionInlinerPass; +import vadl.gcb.passes.RenamingConflictingRegistersPass; +import vadl.gcb.passes.SetMissingConfigurationValuesPass; +import vadl.gcb.passes.assembly.AssemblyConcatBuiltinMergingPass; +import vadl.gcb.passes.encodingGeneration.GenerateFieldAccessEncodingAndPredicateFunctionsPass; +import vadl.gcb.passes.operands.GenerateInstructionOperandsPass; +import vadl.lcb.codegen.assembly.WrapInIntegralPass; +import vadl.lcb.passes.OverwriteInputOperandsPass; +import vadl.lcb.passes.asm.AsmGrammarRuleGenerationPass; +import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; +import vadl.lcb.passes.isaMatching.IsaPseudoInstructionMatchingPass; +import vadl.lcb.passes.llvmLowering.CreateFunctionsFromImmediatesPass; +import vadl.lcb.passes.llvmLowering.GenerateTableGenAbiSequenceInstructionRecordPass; +import vadl.lcb.passes.llvmLowering.GenerateTableGenMachineInstructionRecordPass; +import vadl.lcb.passes.llvmLowering.GenerateTableGenPseudoInstructionRecordPass; +import vadl.lcb.passes.llvmLowering.GenerateTableGenRegistersPass; +import vadl.lcb.passes.llvmLowering.ISelLoweringOperationActionPass; +import vadl.lcb.passes.llvmLowering.LlvmLoweringPass; +import vadl.lcb.passes.llvmLowering.RemoveRegisterWritesPass; +import vadl.lcb.passes.llvmLowering.RemoveTruncationAndAnyExtPass; +import vadl.lcb.passes.llvmLowering.compensation.CompensationPatternPass; +import vadl.lcb.passes.llvmLowering.immediates.GenerateTableGenImmediateRecordPass; +import vadl.lcb.passes.pseudo.AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass; +import vadl.lcb.passes.pseudo.PseudoExpansionFunctionGeneratorPass; +import vadl.lcb.passes.relocation.GenerateLinkerComponentsPass; +import vadl.lcb.template.EmitLcbMakeFilePass; +import vadl.lcb.template.clang.include.Basic.EmitBuiltinsTableGenPass; +import vadl.lcb.template.clang.include.Basic.EmitCMakeListsPass; +import vadl.lcb.template.clang.include.Basic.EmitTargetBuiltinsHeaderPass; +import vadl.lcb.template.clang.lib.Basic.EmitClangBasicCMakeFilePass; +import vadl.lcb.template.clang.lib.Basic.Targets.EmitClangTargetCppFilePass; +import vadl.lcb.template.clang.lib.Basic.Targets.EmitClangTargetHeaderFilePass; +import vadl.lcb.template.clang.lib.Basic.Targets.EmitClangTargetsFilePass; +import vadl.lcb.template.clang.lib.CodeGen.EmitCGBuiltinFilePass; +import vadl.lcb.template.clang.lib.CodeGen.EmitCodeGenFunctionHeaderFilePass; +import vadl.lcb.template.clang.lib.CodeGen.EmitCodeGenModuleCMakeFilePass; +import vadl.lcb.template.clang.lib.CodeGen.EmitCodeGenTargetInfoHeaderFilePass; +import vadl.lcb.template.clang.lib.CodeGen.Targets.EmitClangCodeGenTargetFilePass; +import vadl.lcb.template.clang.lib.Driver.ToolChains.EmitClangCommonArgsToolChainFilePass; +import vadl.lcb.template.include.llvm.BinaryFormat.ELFRelocs.EmitTargetElfRelocsDefFilePass; +import vadl.lcb.template.include.llvm.TargetParser.EmitTripleHeaderFilePass; +import vadl.lcb.template.lib.IR.EmitMiddleendMainIntrinsicsTableGenPass; +import vadl.lcb.template.lib.Misc.EmitBenchmarkRegisterHeaderFilePass; +import vadl.lcb.template.lib.Object.EmitElfCppFilePass; +import vadl.lcb.template.lib.Target.AsmParser.EmitAsmParsedOperandCppFilePass; +import vadl.lcb.template.lib.Target.AsmParser.EmitAsmParsedOperandHeaderFilePass; +import vadl.lcb.template.lib.Target.AsmParser.EmitAsmParserCMakeFilePass; +import vadl.lcb.template.lib.Target.AsmParser.EmitAsmParserCppFilePass; +import vadl.lcb.template.lib.Target.AsmParser.EmitAsmRecursiveDescentParserCppFilePass; +import vadl.lcb.template.lib.Target.AsmParser.EmitAsmRecursiveDescentParserHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitAsmPrinterCppFilePass; +import vadl.lcb.template.lib.Target.EmitAsmPrinterHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitCallingConvTableGenFilePass; +import vadl.lcb.template.lib.Target.EmitDAGToDAGISelCppFilePass; +import vadl.lcb.template.lib.Target.EmitDAGToDAGIselHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitFrameLoweringCppFilePass; +import vadl.lcb.template.lib.Target.EmitFrameLoweringHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitISelLoweringCppFilePass; +import vadl.lcb.template.lib.Target.EmitISelLoweringHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitInstrInfoCppFilePass; +import vadl.lcb.template.lib.Target.EmitInstrInfoHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitInstrInfoTableGenFilePass; +import vadl.lcb.template.lib.Target.EmitMCInstLowerCppFilePass; +import vadl.lcb.template.lib.Target.EmitMCInstLowerHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitMachineFunctionInfoHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitPassConfigCppFilePass; +import vadl.lcb.template.lib.Target.EmitPassConfigHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitRegisterInfoCppFilePass; +import vadl.lcb.template.lib.Target.EmitRegisterInfoHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitRegisterInfoTableGenFilePass; +import vadl.lcb.template.lib.Target.EmitSubTargetCppFilePass; +import vadl.lcb.template.lib.Target.EmitSubTargetHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitTargetCMakeFilePass; +import vadl.lcb.template.lib.Target.EmitTargetHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitTargetMachineCppFilePass; +import vadl.lcb.template.lib.Target.EmitTargetMachineHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitTargetObjectFileCppFilePass; +import vadl.lcb.template.lib.Target.EmitTargetObjectFileHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitTargetTableGenFilePass; +import vadl.lcb.template.lib.Target.EmitTargetTransformInfoCppFilePass; +import vadl.lcb.template.lib.Target.EmitTargetTransformInfoHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitVadlBuiltinHeaderFilePass; +import vadl.lcb.template.lib.Target.EmitVadlBuiltinHeaderPPFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmBackendCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmBackendHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmStreamerCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmStreamerHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmUtilsCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmUtilsHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitConstMatIntCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitConstMatIntHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFObjectWriterCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFObjectWriterHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFStreamerCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFStreamerHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitFixupKindsHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitInstPrinterCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitInstPrinterHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCAsmInfoCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCAsmInfoHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCCodeEmitterCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCCodeEmitterHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCExprCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCExprHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCInstExpanderCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCInstExpanderHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCTargetDescCppFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCTargetDescHeaderFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitMcTargetDescCMakeFilePass; +import vadl.lcb.template.lib.Target.MCTargetDesc.EmitTargetStreamerHeaderFilePass; +import vadl.lcb.template.lib.Target.TargetInfo.EmitTargetInfoCMakeFilePass; +import vadl.lcb.template.lib.Target.TargetInfo.EmitTargetInfoCppFile; +import vadl.lcb.template.lib.Target.TargetInfo.EmitTargetInfoHeaderFilePass; +import vadl.lcb.template.lib.Target.Utils.EmitBaseInfoFilePass; +import vadl.lcb.template.lib.Target.Utils.EmitImmediateFilePass; +import vadl.lcb.template.lib.TargetParser.EmitTripleCppFilePass; +import vadl.lcb.template.lld.ELF.Arch.EmitImmediateUtilsHeaderFilePass; +import vadl.lcb.template.lld.ELF.Arch.EmitLldArchFilePass; +import vadl.lcb.template.lld.ELF.Arch.EmitLldManualEncodingHeaderFilePass; +import vadl.lcb.template.lld.ELF.Arch.EmitLldTargetRelocationsHeaderFilePass; +import vadl.lcb.template.lld.ELF.Arch.EmitLldVadlBuiltinsHeaderFilePass; +import vadl.lcb.template.lld.ELF.EmitLldDriverFilePass; +import vadl.lcb.template.lld.ELF.EmitLldELFCMakeFilePass; +import vadl.lcb.template.lld.ELF.EmitLldTargetCppFilePass; +import vadl.lcb.template.lld.ELF.EmitLldTargetHeaderFilePass; +import vadl.pass.PassOrder; +import vadl.viam.passes.algebraic_simplication.AlgebraicSimplificationPass; +import vadl.viam.passes.behaviorRewrite.BehaviorRewritePass; +import vadl.viam.passes.canonicalization.CanonicalizationPass; +import vadl.viam.passes.functionInliner.ArtificialResInlinerPass; +import vadl.viam.passes.functionInliner.FieldAccessInlinerPass; +import vadl.viam.passes.statusBuiltInInlinePass.RemoveUnusedStatusFlagsFromBuiltinsPass; +import vadl.viam.passes.statusBuiltInInlinePass.StatusBuiltInInlinePass; + +/** + * LCB and GCB-specific pipeline extensions. + */ +public final class LcbGcbPassOrders { + private LcbGcbPassOrders() { + } + + public static PassOrder gcbAndCppCodeGen(GcbConfiguration config) throws IOException { + return extendGcbAndCppCodeGen(ViamPassOrders.viam(config), config); + } + + public static PassOrder lcb(LcbConfiguration config) throws IOException { + return extendLcb(gcbAndCppCodeGen(config), config); + } + + /** + * Extends a shared VIAM pipeline with GCB lowering and shared C/C++ generation passes. + */ + public static PassOrder extendGcbAndCppCodeGen(PassOrder order, GcbConfiguration config) { + order.add(new SetMissingConfigurationValuesPass(config)); + order.skip(StatusBuiltInInlinePass.class); + order.skip(ArtificialResInlinerPass.class); + + order.add(new GenerateCompilerRegistersPass(config)); + order.skip(FieldAccessInlinerPass.class); + order.add(new IdentifyFieldUsagePass(config)); + order.add(new DetermineRelocationTypeForFieldPass(config)); + order.add(new GenerateValueRangeImmediatePass(config)); + order.add(new GenerateFieldAccessEncodingAndPredicateFunctionsPass(config)); + order.add(new PredicateFunctionInlinerPass(config)); + order.add(new AssemblyConcatBuiltinMergingPass(config)); + order.add(new DetermineRegisterUsesAndDefsPass(config)); + order.add(new GenerateInstructionOperandsPass(config)); + order.add(new InstructionPatternPruningPass(config)); + order.add(new DetermineBuiltinAttributesPass(config)); + order.add(new GenerateGcbIntrinsicsPass(config)); + + return PassOrderPipelineUtils.addHtmlDump(order, config, "gcbProcessing", + "Now the gcb produced all necessary encoding function for field accesses " + + "and normalized VIAM types to Cpp types."); + } + + /** + * Extends a GCB pipeline with LCB lowering and LLVM/Clang/LLD emission passes. + */ + public static PassOrder extendLcb(PassOrder order, LcbConfiguration config) throws IOException { + order.skip(FieldAccessInlinerPass.class); + + order.add(new PseudoExpansionFunctionGeneratorPass(config)); + order.add(new AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass(config)); + order.add(new RemoveTruncationAndAnyExtPass(config)); + order.add(new GenerateTableGenRegistersPass(config)); + order.add(new RemoveRegisterWritesPass(config)); + order.add(new RemoveUnusedStatusFlagsFromBuiltinsPass(config)); + order.add(new CanonicalizationPass(config)); + order.add(new AlgebraicSimplificationPass(config)); + order.add(new BehaviorRewritePass(config)); + order.add(new IsaMachineInstructionMatchingPass(config)); + order.add(new IsaPseudoInstructionMatchingPass(config)); + order.add(new LlvmLoweringPass(config)); + order.add(new GenerateTableGenMachineInstructionRecordPass(config)); + order.add(new GenerateTableGenPseudoInstructionRecordPass(config)); + order.add(new GenerateTableGenAbiSequenceInstructionRecordPass(config)); + order.add(new GenerateTableGenImmediateRecordPass(config)); + order.add(new CreateFunctionsFromImmediatesPass(config)); + order.add(new CompensationPatternPass(config)); + order.add(new ISelLoweringOperationActionPass(config)); + order.add(new GenerateLinkerComponentsPass(config)); + order.add(new WrapInIntegralPass(config)); + order.add(new AsmGrammarRuleGenerationPass(config)); + + PassOrderPipelineUtils.addHtmlDump(order, config, "lcbLlvmLowering", + "The LCB did ISA matching to and lowered common VIAM nodes to LLVM specific" + + "nodes."); + + order.add(new EmitVadlBuiltinHeaderFilePass(config)); + order.add(new EmitVadlBuiltinHeaderPPFilePass(config)); + order.add(new EmitCMakeListsPass(config)); + order.add(new EmitBuiltinsTableGenPass(config)); + order.add(new EmitTargetBuiltinsHeaderPass(config)); + order.add(new vadl.lcb.clang.lib.Driver.ToolChains.EmitClangToolChainFilePass(config)); + order.add(new EmitClangCommonArgsToolChainFilePass(config)); + order.add(new EmitClangTargetHeaderFilePass(config)); + order.add(new EmitClangTargetsFilePass(config)); + order.add(new EmitClangTargetCppFilePass(config)); + order.add(new EmitClangBasicCMakeFilePass(config)); + order.add(new EmitCodeGenModuleCMakeFilePass(config)); + order.add(new EmitClangCodeGenTargetFilePass(config)); + order.add(new EmitCodeGenTargetInfoHeaderFilePass(config)); + order.add(new vadl.lcb.clang.lib.CodeGen.EmitCodeGenModuleFilePass(config)); + order.add(new EmitLldDriverFilePass(config)); + order.add(new EmitLldELFCMakeFilePass(config)); + order.add(new EmitLldTargetHeaderFilePass(config)); + order.add(new EmitLldTargetRelocationsHeaderFilePass(config)); + order.add(new EmitLldManualEncodingHeaderFilePass(config)); + order.add(new EmitImmediateUtilsHeaderFilePass(config)); + order.add(new EmitLldArchFilePass(config)); + order.add(new EmitLldVadlBuiltinsHeaderFilePass(config)); + order.add(new EmitLldTargetCppFilePass(config)); + order.add(new EmitLcbMakeFilePass(config)); + order.add(new EmitTargetElfRelocsDefFilePass(config)); + order.add(new vadl.lcb.include.llvm.IR.EmitCMakeListsPass(config)); + order.add(new EmitMiddleendMainIntrinsicsTableGenPass(config)); + order.add(new vadl.lcb.include.llvm.IR.EmitMiddleendIntrinsicsTableGenPass(config)); + order.add(new EmitCGBuiltinFilePass(config)); + order.add(new EmitCodeGenFunctionHeaderFilePass(config)); + order.add(new vadl.lcb.include.llvm.BinaryFormat.EmitElfHeaderFilePass(config)); + order.add(new vadl.lcb.include.llvm.Object.EmitELFObjectHeaderFilePass(config)); + order.add(new EmitBenchmarkRegisterHeaderFilePass(config)); + order.add(new EmitFrameLoweringCppFilePass(config)); + order.add(new EmitMachineFunctionInfoHeaderFilePass(config)); + order.add(new EmitTargetObjectFileCppFilePass(config)); + order.add(new EmitInstrInfoHeaderFilePass(config)); + order.add(new EmitDAGToDAGIselHeaderFilePass(config)); + order.add(new EmitAsmParsedOperandCppFilePass(config)); + order.add(new EmitAsmParsedOperandHeaderFilePass(config)); + order.add(new EmitAsmRecursiveDescentParserHeaderFilePass(config)); + order.add(new EmitAsmParserCppFilePass(config)); + order.add(new EmitAsmParserCMakeFilePass(config)); + order.add(new EmitAsmRecursiveDescentParserCppFilePass(config)); + order.add(new EmitDAGToDAGISelCppFilePass(config)); + order.add(new EmitAsmPrinterHeaderFilePass(config)); + order.add(new EmitCallingConvTableGenFilePass(config)); + order.add(new EmitRegisterInfoHeaderFilePass(config)); + order.add(new EmitBaseInfoFilePass(config)); + order.add(new EmitImmediateFilePass(config)); + order.add(new EmitTargetTableGenFilePass(config)); + order.add(new EmitTargetHeaderFilePass(config)); + order.add(new EmitAsmPrinterCppFilePass(config)); + order.add(new EmitSubTargetHeaderFilePass(config)); + order.add(new EmitFrameLoweringHeaderFilePass(config)); + order.add(new EmitPassConfigHeaderFilePass(config)); + order.add(new EmitISelLoweringCppFilePass(config)); + order.add(new EmitTargetInfoHeaderFilePass(config)); + order.add(new EmitTargetInfoCMakeFilePass(config)); + order.add(new EmitTargetInfoCppFile(config)); + order.add(new EmitPassConfigCppFilePass(config)); + order.add(new EmitSubTargetCppFilePass(config)); + order.add(new EmitTargetCMakeFilePass(config)); + order.add(new EmitMCCodeEmitterHeaderFilePass(config)); + order.add(new EmitMcTargetDescCMakeFilePass(config)); + order.add(new EmitMCCodeEmitterCppFilePass(config)); + order.add(new EmitAsmStreamerCppFilePass(config)); + order.add(new EmitELFStreamerCppFilePass(config)); + order.add(new EmitConstMatIntHeaderFilePass(config)); + order.add(new EmitConstMatIntCppFilePass(config)); + order.add(new EmitMCInstExpanderCppFilePass(config)); + order.add(new EmitAsmBackendHeaderFilePass(config)); + order.add(new EmitELFObjectWriterCppFilePass(config)); + order.add(new EmitMCExprHeaderFilePass(config)); + order.add(new EmitMCInstLowerCppFilePass(config)); + order.add(new EmitMCExprCppFilePass(config)); + order.add(new EmitMCTargetDescHeaderFilePass(config)); + order.add(new EmitAsmUtilsCppFilePass(config)); + order.add(new EmitMCTargetDescCppFilePass(config)); + order.add(new EmitInstPrinterHeaderFilePass(config)); + order.add(new EmitAsmBackendCppFilePass(config)); + order.add(new EmitMCAsmInfoCppFilePass(config)); + order.add(new EmitELFStreamerHeaderFilePass(config)); + order.add(new EmitAsmStreamerHeaderFilePass(config)); + order.add(new EmitTargetStreamerHeaderFilePass(config)); + order.add(new EmitMCAsmInfoHeaderFilePass(config)); + order.add(new EmitMCInstLowerHeaderFilePass(config)); + order.add(new EmitELFObjectWriterHeaderFilePass(config)); + order.add(new EmitFixupKindsHeaderFilePass(config)); + order.add(new EmitInstPrinterCppFilePass(config)); + order.add(new EmitAsmUtilsHeaderFilePass(config)); + order.add(new EmitMCInstExpanderHeaderFilePass(config)); + order.add(new EmitRegisterInfoTableGenFilePass(config)); + order.add(new EmitInstrInfoCppFilePass(config)); + order.add(new EmitInstrInfoTableGenFilePass(config)); + order.add(new EmitRegisterInfoCppFilePass(config)); + order.add(new EmitTargetMachineCppFilePass(config)); + order.add(new EmitTargetMachineHeaderFilePass(config)); + order.add(new EmitTargetObjectFileHeaderFilePass(config)); + order.add(new EmitISelLoweringHeaderFilePass(config)); + order.add(new EmitTargetTransformInfoHeaderFilePass(config)); + order.add(new EmitTargetTransformInfoCppFilePass(config)); + order.add(new EmitTripleHeaderFilePass(config)); + order.add(new EmitTripleCppFilePass(config)); + order.add(new EmitElfCppFilePass(config)); + + return order; + } +} diff --git a/vadl-lsp/build.gradle.kts b/vadl-lsp/build.gradle.kts index 6e53d7a97..36bf7c909 100644 --- a/vadl-lsp/build.gradle.kts +++ b/vadl-lsp/build.gradle.kts @@ -3,7 +3,8 @@ plugins { } dependencies { - implementation(project(":vadl")) + implementation(project(":vadl-core")) + implementation(project(":vadl-frontend")) implementation(libs.lsp4j) testImplementation(libs.assertj.core) diff --git a/vadl-pass-api/build.gradle.kts b/vadl-pass-api/build.gradle.kts new file mode 100644 index 000000000..4756de965 --- /dev/null +++ b/vadl-pass-api/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + id("conventions-jvm") +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(project(":vadl-core")) + implementation(libs.guava) + implementation(libs.commons.io) + implementation(libs.thymeleaf) + implementation(libs.commons.lang3) +} diff --git a/vadl/main/resources/templates/common/vadl-builtins.h b/vadl-pass-api/main/resources/templates/common/vadl-builtins.h similarity index 100% rename from vadl/main/resources/templates/common/vadl-builtins.h rename to vadl-pass-api/main/resources/templates/common/vadl-builtins.h diff --git a/vadl/main/resources/templates/common/vadl-builtins.hpp b/vadl-pass-api/main/resources/templates/common/vadl-builtins.hpp similarity index 100% rename from vadl/main/resources/templates/common/vadl-builtins.hpp rename to vadl-pass-api/main/resources/templates/common/vadl-builtins.hpp diff --git a/vadl/main/resources/templates/htmlDump/index.html b/vadl-pass-api/main/resources/templates/htmlDump/index.html similarity index 100% rename from vadl/main/resources/templates/htmlDump/index.html rename to vadl-pass-api/main/resources/templates/htmlDump/index.html diff --git a/vadl/main/vadl/configuration/DecoderOptions.java b/vadl-pass-api/main/vadl/configuration/DecoderOptions.java similarity index 96% rename from vadl/main/vadl/configuration/DecoderOptions.java rename to vadl-pass-api/main/vadl/configuration/DecoderOptions.java index 4956d52b8..37c59dd62 100644 --- a/vadl/main/vadl/configuration/DecoderOptions.java +++ b/vadl-pass-api/main/vadl/configuration/DecoderOptions.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -81,7 +81,7 @@ public enum OptionToSkip { "encoding-verification"), OPT_DECODER_VERIFICATION("Skip the correctness verification of the decode tree, default: " - + "enabled", "decoder-verification"); + + "enabled", "decoder-verification"); private final String selector; private final String desc; diff --git a/vadl/main/vadl/configuration/DumpMode.java b/vadl-pass-api/main/vadl/configuration/DumpMode.java similarity index 100% rename from vadl/main/vadl/configuration/DumpMode.java rename to vadl-pass-api/main/vadl/configuration/DumpMode.java diff --git a/vadl/main/vadl/configuration/GeneralConfiguration.java b/vadl-pass-api/main/vadl/configuration/GeneralConfiguration.java similarity index 100% rename from vadl/main/vadl/configuration/GeneralConfiguration.java rename to vadl-pass-api/main/vadl/configuration/GeneralConfiguration.java diff --git a/vadl/main/vadl/cppCodeGen/AbstractFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/AbstractFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/AbstractFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/AbstractFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/AbstractRelocationCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/AbstractRelocationCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/AbstractRelocationCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/AbstractRelocationCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/BuiltInTranslator.java b/vadl-pass-api/main/vadl/cppCodeGen/BuiltInTranslator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/BuiltInTranslator.java rename to vadl-pass-api/main/vadl/cppCodeGen/BuiltInTranslator.java diff --git a/vadl/main/vadl/cppCodeGen/CppCodeGenGraphNodeVisitor.java b/vadl-pass-api/main/vadl/cppCodeGen/CppCodeGenGraphNodeVisitor.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/CppCodeGenGraphNodeVisitor.java rename to vadl-pass-api/main/vadl/cppCodeGen/CppCodeGenGraphNodeVisitor.java diff --git a/vadl/main/vadl/cppCodeGen/CppTypeMap.java b/vadl-pass-api/main/vadl/cppCodeGen/CppTypeMap.java similarity index 92% rename from vadl/main/vadl/cppCodeGen/CppTypeMap.java rename to vadl-pass-api/main/vadl/cppCodeGen/CppTypeMap.java index 9535b9fee..e788b99f2 100644 --- a/vadl/main/vadl/cppCodeGen/CppTypeMap.java +++ b/vadl-pass-api/main/vadl/cppCodeGen/CppTypeMap.java @@ -17,9 +17,9 @@ package vadl.cppCodeGen; import vadl.cppCodeGen.model.CppType; -import vadl.gcb.valuetypes.ValueType; import vadl.types.BitsType; import vadl.types.BoolType; +import vadl.types.DataType; import vadl.types.SIntType; import vadl.types.StringType; import vadl.types.Type; @@ -34,19 +34,25 @@ public class CppTypeMap { * Returns the cpp type given the {@link Type}. The builtin tablegen tool does not support * {@code uint8} or {@code uint16}. Therefore, we added a customization. */ - public static String getCppBuiltinTypeNameByVadlType(ValueType type) { - var width = type.getBitwidth(); - if (type.isSigned() && width == 8) { + public static String getCppBuiltinTypeNameByVadlType(DataType type) { + return getCppBuiltinTypeName(type.bitWidth(), type.isSigned()); + } + + /** + * Returns the cpp builtin type name for a bit width and signedness pair. + */ + public static String getCppBuiltinTypeName(int width, boolean signed) { + if (signed && width == 8) { return "char"; - } else if (!type.isSigned() && width == 8) { + } else if (!signed && width == 8) { return "unsigned char"; - } else if (type.isSigned() && width == 16) { + } else if (signed && width == 16) { return "short"; - } else if (!type.isSigned() && width == 16) { + } else if (!signed && width == 16) { return "unsigned short"; } return getCppTypeNameByVadlType( - type.isSigned() ? SIntType.bits(width) : Type.unsignedInt(width) + signed ? SIntType.bits(width) : Type.unsignedInt(width) ); } diff --git a/vadl/main/vadl/cppCodeGen/FunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/FunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/FunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/FunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/SymbolTable.java b/vadl-pass-api/main/vadl/cppCodeGen/SymbolTable.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/SymbolTable.java rename to vadl-pass-api/main/vadl/cppCodeGen/SymbolTable.java diff --git a/vadl/main/vadl/cppCodeGen/common/AccessFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/AccessFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/AccessFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/AccessFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/AsmParserFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/AsmParserFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/AsmParserFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/AsmParserFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/GcbAccessFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/GcbAccessFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/GcbAccessFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/GcbAccessFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/GcbEncodingFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/GcbEncodingFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/GcbEncodingFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/GcbEncodingFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/PredicateFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/PredicateFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/PredicateFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/PredicateFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/PureFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/PureFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/PureFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/PureFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/UpdateFieldRelocationFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/UpdateFieldRelocationFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/UpdateFieldRelocationFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/UpdateFieldRelocationFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/common/ValueRelocationFunctionCodeGenerator.java b/vadl-pass-api/main/vadl/cppCodeGen/common/ValueRelocationFunctionCodeGenerator.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/common/ValueRelocationFunctionCodeGenerator.java rename to vadl-pass-api/main/vadl/cppCodeGen/common/ValueRelocationFunctionCodeGenerator.java diff --git a/vadl/main/vadl/cppCodeGen/context/CAsmContext.java b/vadl-pass-api/main/vadl/cppCodeGen/context/CAsmContext.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/context/CAsmContext.java rename to vadl-pass-api/main/vadl/cppCodeGen/context/CAsmContext.java diff --git a/vadl/main/vadl/cppCodeGen/context/CGenContext.java b/vadl-pass-api/main/vadl/cppCodeGen/context/CGenContext.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/context/CGenContext.java rename to vadl-pass-api/main/vadl/cppCodeGen/context/CGenContext.java diff --git a/vadl/main/vadl/cppCodeGen/context/CNodeContext.java b/vadl-pass-api/main/vadl/cppCodeGen/context/CNodeContext.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/context/CNodeContext.java rename to vadl-pass-api/main/vadl/cppCodeGen/context/CNodeContext.java diff --git a/vadl/main/vadl/cppCodeGen/context/CNodeWithBaggageContext.java b/vadl-pass-api/main/vadl/cppCodeGen/context/CNodeWithBaggageContext.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/context/CNodeWithBaggageContext.java rename to vadl-pass-api/main/vadl/cppCodeGen/context/CNodeWithBaggageContext.java diff --git a/vadl/main/vadl/cppCodeGen/formatting/ClangFormatter.java b/vadl-pass-api/main/vadl/cppCodeGen/formatting/ClangFormatter.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/formatting/ClangFormatter.java rename to vadl-pass-api/main/vadl/cppCodeGen/formatting/ClangFormatter.java diff --git a/vadl/main/vadl/cppCodeGen/formatting/CodeFormatter.java b/vadl-pass-api/main/vadl/cppCodeGen/formatting/CodeFormatter.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/formatting/CodeFormatter.java rename to vadl-pass-api/main/vadl/cppCodeGen/formatting/CodeFormatter.java diff --git a/vadl/main/vadl/cppCodeGen/mixins/CDefaultMixins.java b/vadl-pass-api/main/vadl/cppCodeGen/mixins/CDefaultMixins.java similarity index 99% rename from vadl/main/vadl/cppCodeGen/mixins/CDefaultMixins.java rename to vadl-pass-api/main/vadl/cppCodeGen/mixins/CDefaultMixins.java index 8213780a6..7f1595137 100644 --- a/vadl/main/vadl/cppCodeGen/mixins/CDefaultMixins.java +++ b/vadl-pass-api/main/vadl/cppCodeGen/mixins/CDefaultMixins.java @@ -39,6 +39,7 @@ import vadl.viam.graph.control.ForallNode; import vadl.viam.graph.control.IfNode; import vadl.viam.graph.control.InstrEndNode; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.MergeNode; import vadl.viam.graph.control.NewLabelNode; import vadl.viam.graph.control.ProcEndNode; @@ -60,7 +61,6 @@ import vadl.viam.graph.dependency.TruncateNode; import vadl.viam.graph.dependency.TupleGetFieldNode; import vadl.viam.graph.dependency.ZeroExtendNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * A collection of default mixins for C code generation. diff --git a/vadl/main/vadl/cppCodeGen/mixins/CInvalidMixins.java b/vadl-pass-api/main/vadl/cppCodeGen/mixins/CInvalidMixins.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/mixins/CInvalidMixins.java rename to vadl-pass-api/main/vadl/cppCodeGen/mixins/CInvalidMixins.java diff --git a/vadl/main/vadl/cppCodeGen/model/CppClassImplName.java b/vadl-pass-api/main/vadl/cppCodeGen/model/CppClassImplName.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/CppClassImplName.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/CppClassImplName.java diff --git a/vadl/main/vadl/cppCodeGen/model/CppFunctionCode.java b/vadl-pass-api/main/vadl/cppCodeGen/model/CppFunctionCode.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/CppFunctionCode.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/CppFunctionCode.java diff --git a/vadl/main/vadl/cppCodeGen/model/CppFunctionName.java b/vadl-pass-api/main/vadl/cppCodeGen/model/CppFunctionName.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/CppFunctionName.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/CppFunctionName.java diff --git a/vadl/main/vadl/cppCodeGen/model/CppGenericType.java b/vadl-pass-api/main/vadl/cppCodeGen/model/CppGenericType.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/CppGenericType.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/CppGenericType.java diff --git a/vadl/main/vadl/cppCodeGen/model/CppParameter.java b/vadl-pass-api/main/vadl/cppCodeGen/model/CppParameter.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/CppParameter.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/CppParameter.java diff --git a/vadl/main/vadl/cppCodeGen/model/CppType.java b/vadl-pass-api/main/vadl/cppCodeGen/model/CppType.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/CppType.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/CppType.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbCppAccessFunction.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppAccessFunction.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbCppAccessFunction.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppAccessFunction.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbCppEncodeFunction.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppEncodeFunction.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbCppEncodeFunction.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppEncodeFunction.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbCppEncodingWrapperFunction.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppEncodingWrapperFunction.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbCppEncodingWrapperFunction.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppEncodingWrapperFunction.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbCppFunctionBodyLess.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppFunctionBodyLess.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbCppFunctionBodyLess.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppFunctionBodyLess.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbCppFunctionWithBody.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppFunctionWithBody.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbCppFunctionWithBody.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbCppFunctionWithBody.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbExpandPseudoInstructionCppFunction.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbExpandPseudoInstructionCppFunction.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbExpandPseudoInstructionCppFunction.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbExpandPseudoInstructionCppFunction.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbImmediateExtractionCppFunction.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbImmediateExtractionCppFunction.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbImmediateExtractionCppFunction.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbImmediateExtractionCppFunction.java diff --git a/vadl/main/vadl/cppCodeGen/model/GcbUpdateFieldRelocationCppFunction.java b/vadl-pass-api/main/vadl/cppCodeGen/model/GcbUpdateFieldRelocationCppFunction.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/GcbUpdateFieldRelocationCppFunction.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/GcbUpdateFieldRelocationCppFunction.java diff --git a/vadl/main/vadl/cppCodeGen/model/nodes/CppUpdateBitRangeNode.java b/vadl-pass-api/main/vadl/cppCodeGen/model/nodes/CppUpdateBitRangeNode.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/model/nodes/CppUpdateBitRangeNode.java rename to vadl-pass-api/main/vadl/cppCodeGen/model/nodes/CppUpdateBitRangeNode.java diff --git a/vadl/main/vadl/cppCodeGen/passes/typeNormalization/CppSignExtendNode.java b/vadl-pass-api/main/vadl/cppCodeGen/passes/typeNormalization/CppSignExtendNode.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/passes/typeNormalization/CppSignExtendNode.java rename to vadl-pass-api/main/vadl/cppCodeGen/passes/typeNormalization/CppSignExtendNode.java diff --git a/vadl/main/vadl/cppCodeGen/passes/typeNormalization/CppTruncateNode.java b/vadl-pass-api/main/vadl/cppCodeGen/passes/typeNormalization/CppTruncateNode.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/passes/typeNormalization/CppTruncateNode.java rename to vadl-pass-api/main/vadl/cppCodeGen/passes/typeNormalization/CppTruncateNode.java diff --git a/vadl/main/vadl/cppCodeGen/passes/typeNormalization/CppZeroExtendNode.java b/vadl-pass-api/main/vadl/cppCodeGen/passes/typeNormalization/CppZeroExtendNode.java similarity index 100% rename from vadl/main/vadl/cppCodeGen/passes/typeNormalization/CppZeroExtendNode.java rename to vadl-pass-api/main/vadl/cppCodeGen/passes/typeNormalization/CppZeroExtendNode.java diff --git a/vadl/main/vadl/dump/ArtifactTracker.java b/vadl-pass-api/main/vadl/dump/ArtifactTracker.java similarity index 100% rename from vadl/main/vadl/dump/ArtifactTracker.java rename to vadl-pass-api/main/vadl/dump/ArtifactTracker.java diff --git a/vadl/main/vadl/dump/BehaviorTimelineDisplay.java b/vadl-pass-api/main/vadl/dump/BehaviorTimelineDisplay.java similarity index 100% rename from vadl/main/vadl/dump/BehaviorTimelineDisplay.java rename to vadl-pass-api/main/vadl/dump/BehaviorTimelineDisplay.java diff --git a/vadl/main/vadl/dump/CollectBehaviorDotGraphPass.java b/vadl-pass-api/main/vadl/dump/CollectBehaviorDotGraphPass.java similarity index 97% rename from vadl/main/vadl/dump/CollectBehaviorDotGraphPass.java rename to vadl-pass-api/main/vadl/dump/CollectBehaviorDotGraphPass.java index 56da8d852..07a1de180 100644 --- a/vadl/main/vadl/dump/CollectBehaviorDotGraphPass.java +++ b/vadl-pass-api/main/vadl/dump/CollectBehaviorDotGraphPass.java @@ -66,10 +66,10 @@ public record Result( * the rendering. It returns a list where each entry is separate pass result which contains * the dot graph. */ - public List map() { + public List map() { return behaviors.entrySet().stream() .flatMap(x -> x.getValue().stream() - .map(behaviorDotGraph -> new PassResults.DotGraphResult( + .map(behaviorDotGraph -> new DotGraphResult( prevPass.passKey(), prevPass().pass(), prevPass().durationMs(), diff --git a/vadl-pass-api/main/vadl/dump/DotGraphResult.java b/vadl-pass-api/main/vadl/dump/DotGraphResult.java new file mode 100644 index 000000000..52bbe3a03 --- /dev/null +++ b/vadl-pass-api/main/vadl/dump/DotGraphResult.java @@ -0,0 +1,59 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.util.Objects; +import vadl.pass.Pass; +import vadl.pass.PassKey; +import vadl.pass.PassResults; +import vadl.viam.Definition; + +/** + * Pass result wrapper for dot graphs shown in dumps. + */ +public class DotGraphResult extends PassResults.SingleResult implements BehaviorTimelineDisplay { + private final Definition definition; + + public DotGraphResult(PassKey passKey, + Pass pass, + long durationMs, + String result, + boolean skipped, + Definition definition) { + super(passKey, pass, durationMs, result, skipped); + this.definition = definition; + } + + @Override + public String passId() { + return passKey().value(); + } + + @Override + public String passName() { + return pass().getClass().getSimpleName(); + } + + @Override + public String dotGraph() { + return (String) Objects.requireNonNull(result()); + } + + public Definition definition() { + return definition; + } +} diff --git a/vadl/main/vadl/dump/DumpEntity.java b/vadl-pass-api/main/vadl/dump/DumpEntity.java similarity index 100% rename from vadl/main/vadl/dump/DumpEntity.java rename to vadl-pass-api/main/vadl/dump/DumpEntity.java diff --git a/vadl/main/vadl/dump/DumpEntitySupplier.java b/vadl-pass-api/main/vadl/dump/DumpEntitySupplier.java similarity index 100% rename from vadl/main/vadl/dump/DumpEntitySupplier.java rename to vadl-pass-api/main/vadl/dump/DumpEntitySupplier.java diff --git a/vadl-pass-api/main/vadl/dump/HtmlDumpExtensionProvider.java b/vadl-pass-api/main/vadl/dump/HtmlDumpExtensionProvider.java new file mode 100644 index 000000000..850b399c0 --- /dev/null +++ b/vadl-pass-api/main/vadl/dump/HtmlDumpExtensionProvider.java @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.util.List; + +/** + * Registers HTML dump extensions from optional modules. + * + *

    The shared HTML dump lives in {@code :vadl-pass-api}, but some entity suppliers and + * info enrichers are owned by backend modules such as {@code :vadl-vdt}, {@code :vadl-rtl}, + * or {@code :vadl-iss}. To avoid a compile-time dependency from {@code :vadl-pass-api} back + * to those modules, the registration is done via {@link java.util.ServiceLoader}.

    + * + *

    To contribute extensions from another module:

    + *
      + *
    1. Implement this interface in that module.
    2. + *
    3. Register the implementation in + * {@code META-INF/services/vadl.dump.HtmlDumpExtensionProvider}.
    4. + *
    5. List the provider's fully qualified class name in that service file.
    6. + *
    + * + *

    At runtime, {@link HtmlDumpPass} loads all registered providers from the classpath and + * lets them add extra {@link DumpEntitySupplier}s and {@link InfoEnricher}s. Without the + * {@code META-INF/services} entry, a provider class exists only as dead code and is not + * discovered.

    + */ +public interface HtmlDumpExtensionProvider { + + default int priority() { + return 0; + } + + default void addEntitySuppliers(List> suppliers) { + } + + default void addInfoEnrichers(List enrichers) { + } +} diff --git a/vadl/main/vadl/dump/HtmlDumpPass.java b/vadl-pass-api/main/vadl/dump/HtmlDumpPass.java similarity index 86% rename from vadl/main/vadl/dump/HtmlDumpPass.java rename to vadl-pass-api/main/vadl/dump/HtmlDumpPass.java index f1f42b7e4..63a1b121a 100644 --- a/vadl/main/vadl/dump/HtmlDumpPass.java +++ b/vadl-pass-api/main/vadl/dump/HtmlDumpPass.java @@ -25,20 +25,15 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.ServiceLoader; import java.util.concurrent.atomic.AtomicInteger; -import java.util.function.Consumer; import java.util.stream.Collectors; import javax.annotation.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; -import vadl.dump.entitySuppliers.VdtEntitySupplier; import vadl.dump.entitySuppliers.ViamEntitySupplier; -import vadl.dump.infoEnrichers.IssEnricherCollection; -import vadl.dump.infoEnrichers.LcbEnricherCollection; -import vadl.dump.infoEnrichers.RtlEnricherCollection; -import vadl.dump.infoEnrichers.VdtEnricherCollection; import vadl.dump.infoEnrichers.ViamEnricherCollection; import vadl.pass.Pass; import vadl.pass.PassKey; @@ -56,9 +51,20 @@ * Those info objects are rendered in the entity box depending on their concrete type (e.g. * {@link Info.Tag}. * - *

    To add your own entity supplier, add yours to the {@code entitySuppliers} field. - * To add a new info enricher, add it to the {@code infoEnrichers} field. - * Take a look at {@link ViamEnricherCollection} to see an example on how to implement + *

    The shared pass always registers the VIAM-owned defaults directly. Additional dump + * features from optional modules are discovered through {@link ServiceLoader} using the + * {@link HtmlDumpExtensionProvider} interface. That keeps this pass in {@code :vadl-pass-api} + * without introducing compile-time dependencies back to backend modules.

    + * + *

    To add your own entity supplier or info enricher from another module:

    + *
      + *
    1. Implement {@link HtmlDumpExtensionProvider} in the owning module.
    2. + *
    3. Create a resource file named + * {@code META-INF/services/vadl.dump.HtmlDumpExtensionProvider}.
    4. + *
    5. Add the provider's fully qualified class name to that file.
    6. + *
    + * + *

    Take a look at {@link ViamEnricherCollection} to see an example on how to implement * new info enrichers.

    * *

    Note that infos are rendered in the same order as the info enrichers are registered.

    @@ -76,26 +82,13 @@ public class HtmlDumpPass extends AbstractTemplateRenderingPass { private static final Logger log = LoggerFactory.getLogger(HtmlDumpPass.class); - /** - * A function that collects all available entity suppliers. - * Add your supplier to activate it. - */ - static Consumer>> entitySuppliers = suppliers -> { - suppliers.add(new ViamEntitySupplier()); - suppliers.add(new VdtEntitySupplier()); - }; - - /** - * A function to collect all information enrichers. - * Add your enricher to activate it. - */ - static Consumer> infoEnrichers = enrichers -> { - enrichers.addAll(ViamEnricherCollection.all); - enrichers.addAll(LcbEnricherCollection.all); - enrichers.addAll(IssEnricherCollection.all); - enrichers.addAll(VdtEnricherCollection.all); - enrichers.addAll(RtlEnricherCollection.all); - }; + private static final List extensionProviders = + ServiceLoader.load(HtmlDumpExtensionProvider.class, HtmlDumpPass.class.getClassLoader()) + .stream() + .map(ServiceLoader.Provider::get) + .sorted(Comparator.comparingInt(HtmlDumpExtensionProvider::priority) + .thenComparing(provider -> provider.getClass().getName())) + .toList(); /** @@ -193,7 +186,8 @@ protected Map createVariables(PassResults passResults, getOutputPath()); // collect suppliers var suppliers = new ArrayList>(); - entitySuppliers.accept(suppliers); + suppliers.add(new ViamEntitySupplier()); + extensionProviders.forEach(provider -> provider.addEntitySuppliers(suppliers)); // get all top-level entities from all suppliers var entities = suppliers.stream() @@ -203,7 +197,8 @@ protected Map createVariables(PassResults passResults, // collect all info enrichers var enrichers = new ArrayList(); - infoEnrichers.accept(enrichers); + enrichers.addAll(ViamEnricherCollection.all); + extensionProviders.forEach(provider -> provider.addInfoEnrichers(enrichers)); // apply all enrichers to all entities (also sub entities) for (var entity : entities) { @@ -303,4 +298,4 @@ private static Map mapPass(Pass pass) { ); } -} \ No newline at end of file +} diff --git a/vadl/main/vadl/dump/Info.java b/vadl-pass-api/main/vadl/dump/Info.java similarity index 100% rename from vadl/main/vadl/dump/Info.java rename to vadl-pass-api/main/vadl/dump/Info.java diff --git a/vadl/main/vadl/dump/InfoEnricher.java b/vadl-pass-api/main/vadl/dump/InfoEnricher.java similarity index 100% rename from vadl/main/vadl/dump/InfoEnricher.java rename to vadl-pass-api/main/vadl/dump/InfoEnricher.java diff --git a/vadl/main/vadl/dump/InfoUtils.java b/vadl-pass-api/main/vadl/dump/InfoUtils.java similarity index 100% rename from vadl/main/vadl/dump/InfoUtils.java rename to vadl-pass-api/main/vadl/dump/InfoUtils.java diff --git a/vadl-pass-api/main/vadl/dump/PassFailureDumpHandler.java b/vadl-pass-api/main/vadl/dump/PassFailureDumpHandler.java new file mode 100644 index 000000000..59d5748dc --- /dev/null +++ b/vadl-pass-api/main/vadl/dump/PassFailureDumpHandler.java @@ -0,0 +1,65 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.io.IOException; +import java.util.List; +import vadl.configuration.DumpMode; +import vadl.error.Diagnostic; +import vadl.error.DiagnosticList; +import vadl.pass.Pass; +import vadl.pass.PassFailureHandler; +import vadl.pass.PassKey; +import vadl.pass.PassResults; +import vadl.pass.PassStep; +import vadl.viam.Specification; + +/** + * Creates emergency dumps when a pass fails. + */ +public class PassFailureDumpHandler implements PassFailureHandler { + @Override + public void onPassFailure(List pipeline, + PassResults passResults, + Pass failedPass, + Specification viam, + Exception exception) throws IOException { + var config = pipeline.isEmpty() ? failedPass.configuration() : pipeline.get(0).pass() + .configuration(); + + if (config.dumpMode() == DumpMode.NONE) { + return; + } + + if (config.dumpMode() == DumpMode.ON_FAILURE + && (exception instanceof Diagnostic || exception instanceof DiagnosticList)) { + return; + } + + var passClassName = failedPass.getClass().getSimpleName(); + var graphCollectPass = new CollectBehaviorDotGraphPass(config); + var graphCollectResult = graphCollectPass.execute(passResults, viam); + passResults.add(PassKey.of("BehaviorCollectionOnException"), graphCollectPass, 0, + graphCollectResult); + + var htmlDumpPass = new HtmlDumpPass(HtmlDumpPass.Config + .from(config, "Exception During " + passClassName, + "This is a dump after exception occurred during the %s pass." + .formatted(passClassName))); + htmlDumpPass.execute(passResults, viam); + } +} diff --git a/vadl-pass-api/main/vadl/dump/PassOrderDumps.java b/vadl-pass-api/main/vadl/dump/PassOrderDumps.java new file mode 100644 index 000000000..170102eba --- /dev/null +++ b/vadl-pass-api/main/vadl/dump/PassOrderDumps.java @@ -0,0 +1,45 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.nio.file.Path; +import vadl.configuration.DumpMode; +import vadl.configuration.GeneralConfiguration; +import vadl.pass.PassOrder; + +/** + * Utilities for adding dump passes to pass orders. + */ +public final class PassOrderDumps { + private PassOrderDumps() { + } + + /** + * Appends a final HTML dump pass to the given pass order. + */ + public static PassOrder addDump(PassOrder passOrder, String outPath) { + var passSteps = passOrder.passSteps(); + var last = passSteps.get(passSteps.size() - 1); + var config = new GeneralConfiguration(Path.of(outPath), DumpMode.ALWAYS); + var dumpPass = new HtmlDumpPass(HtmlDumpPass.Config.from(config, + last.pass().getName().value(), + "This is a dump right after the pass " + last.key().value() + "." + )); + passOrder.add(dumpPass); + return passOrder; + } +} diff --git a/vadl/main/vadl/dump/entities/DefinitionEntity.java b/vadl-pass-api/main/vadl/dump/entities/DefinitionEntity.java similarity index 100% rename from vadl/main/vadl/dump/entities/DefinitionEntity.java rename to vadl-pass-api/main/vadl/dump/entities/DefinitionEntity.java diff --git a/vadl/main/vadl/dump/entitySuppliers/ViamEntitySupplier.java b/vadl-pass-api/main/vadl/dump/entitySuppliers/ViamEntitySupplier.java similarity index 100% rename from vadl/main/vadl/dump/entitySuppliers/ViamEntitySupplier.java rename to vadl-pass-api/main/vadl/dump/entitySuppliers/ViamEntitySupplier.java diff --git a/vadl/main/vadl/dump/infoEnrichers/ViamEnricherCollection.java b/vadl-pass-api/main/vadl/dump/infoEnrichers/ViamEnricherCollection.java similarity index 100% rename from vadl/main/vadl/dump/infoEnrichers/ViamEnricherCollection.java rename to vadl-pass-api/main/vadl/dump/infoEnrichers/ViamEnricherCollection.java diff --git a/vadl/main/vadl/gcb/passes/RenamedFieldRefNode.java b/vadl-pass-api/main/vadl/gcb/passes/RenamedFieldRefNode.java similarity index 100% rename from vadl/main/vadl/gcb/passes/RenamedFieldRefNode.java rename to vadl-pass-api/main/vadl/gcb/passes/RenamedFieldRefNode.java diff --git a/vadl/main/vadl/gcb/passes/RenamingConflictingRegistersPass.java b/vadl-pass-api/main/vadl/gcb/passes/RenamingConflictingRegistersPass.java similarity index 100% rename from vadl/main/vadl/gcb/passes/RenamingConflictingRegistersPass.java rename to vadl-pass-api/main/vadl/gcb/passes/RenamingConflictingRegistersPass.java diff --git a/vadl/main/vadl/lcb/graph/DefinedImmediateSideEffectNode.java b/vadl-pass-api/main/vadl/lcb/graph/DefinedImmediateSideEffectNode.java similarity index 100% rename from vadl/main/vadl/lcb/graph/DefinedImmediateSideEffectNode.java rename to vadl-pass-api/main/vadl/lcb/graph/DefinedImmediateSideEffectNode.java diff --git a/vadl/main/vadl/lcb/passes/OverwriteInputOperandsPass.java b/vadl-pass-api/main/vadl/lcb/passes/OverwriteInputOperandsPass.java similarity index 100% rename from vadl/main/vadl/lcb/passes/OverwriteInputOperandsPass.java rename to vadl-pass-api/main/vadl/lcb/passes/OverwriteInputOperandsPass.java diff --git a/vadl/main/vadl/pass/Pass.java b/vadl-pass-api/main/vadl/pass/Pass.java similarity index 97% rename from vadl/main/vadl/pass/Pass.java rename to vadl-pass-api/main/vadl/pass/Pass.java index 6f0943324..b9afa17cd 100644 --- a/vadl/main/vadl/pass/Pass.java +++ b/vadl-pass-api/main/vadl/pass/Pass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl-pass-api/main/vadl/pass/PassFailureHandler.java b/vadl-pass-api/main/vadl/pass/PassFailureHandler.java new file mode 100644 index 000000000..2c72ec841 --- /dev/null +++ b/vadl-pass-api/main/vadl/pass/PassFailureHandler.java @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.pass; + +import java.io.IOException; +import java.util.List; +import vadl.viam.Specification; + +/** + * Handles pass execution failures. + */ +@FunctionalInterface +public interface PassFailureHandler { + PassFailureHandler NO_OP = (pipeline, passResults, failedPass, viam, exception) -> { + }; + + void onPassFailure(List pipeline, + PassResults passResults, + Pass failedPass, + Specification viam, + Exception exception) throws IOException; +} diff --git a/vadl/main/vadl/pass/PassKey.java b/vadl-pass-api/main/vadl/pass/PassKey.java similarity index 94% rename from vadl/main/vadl/pass/PassKey.java rename to vadl-pass-api/main/vadl/pass/PassKey.java index 60819a2a0..e7d8597e9 100644 --- a/vadl/main/vadl/pass/PassKey.java +++ b/vadl-pass-api/main/vadl/pass/PassKey.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/pass/PassManager.java b/vadl-pass-api/main/vadl/pass/PassManager.java similarity index 82% rename from vadl/main/vadl/pass/PassManager.java rename to vadl-pass-api/main/vadl/pass/PassManager.java index 7bc07ca74..8b4ccad4c 100644 --- a/vadl/main/vadl/pass/PassManager.java +++ b/vadl-pass-api/main/vadl/pass/PassManager.java @@ -24,11 +24,6 @@ import javax.annotation.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import vadl.configuration.DumpMode; -import vadl.dump.CollectBehaviorDotGraphPass; -import vadl.dump.HtmlDumpPass; -import vadl.error.Diagnostic; -import vadl.error.DiagnosticList; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.viam.Specification; @@ -45,6 +40,15 @@ public class PassManager { */ private final PassResults passResults = new PassResults(); private final List pipeline = new ArrayList<>(); + private final PassFailureHandler failureHandler; + + public PassManager() { + this(PassFailureHandler.NO_OP); + } + + public PassManager(PassFailureHandler failureHandler) { + this.failureHandler = failureHandler; + } private boolean hasDuplicatedPassKey(PassKey needle) { var keys = pipeline.stream().map(PassStep::key).collect(Collectors.toSet()); @@ -176,31 +180,7 @@ private void run(Specification viam, Predicate predicate) throws IOExce try { return pass.execute(passResults, viam); } catch (Exception e) { - var config = pipeline.get(0).pass().configuration(); - - if (config.dumpMode() == DumpMode.NONE) { - // if we are not dumping at all, we just propagate the error - throw e; - } - - if (config.dumpMode() == DumpMode.ON_FAILURE - && (e instanceof Diagnostic || e instanceof DiagnosticList)) { - // if we are only dumping failures and the error is a diagnostic, we don't generate an - // exception dump. - throw e; - } - var passClassName = pass.getClass().getSimpleName(); - // collect latest graphs - var graphCollectPass = new CollectBehaviorDotGraphPass(pass.configuration()); - var graphCollectResult = graphCollectPass.execute(passResults, viam); - passResults.add(PassKey.of("BehaviorCollectionOnException"), graphCollectPass, 0, - graphCollectResult); - // on an exception, we do an emergency dump - var htmlDumpPass = new HtmlDumpPass(HtmlDumpPass.Config - .from(config, "Exception During " + passClassName, - "This is a dump after exception occurred during the %s pass." - .formatted(passClassName))); - htmlDumpPass.execute(passResults, viam); + failureHandler.onPassFailure(List.copyOf(pipeline), passResults, pass, viam, e); throw e; } } diff --git a/vadl/main/vadl/pass/PassName.java b/vadl-pass-api/main/vadl/pass/PassName.java similarity index 92% rename from vadl/main/vadl/pass/PassName.java rename to vadl-pass-api/main/vadl/pass/PassName.java index 32634f023..5ee53a3de 100644 --- a/vadl/main/vadl/pass/PassName.java +++ b/vadl-pass-api/main/vadl/pass/PassName.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/pass/PassOrder.java b/vadl-pass-api/main/vadl/pass/PassOrder.java similarity index 90% rename from vadl/main/vadl/pass/PassOrder.java rename to vadl-pass-api/main/vadl/pass/PassOrder.java index 92392ad80..0fe35ed1f 100644 --- a/vadl/main/vadl/pass/PassOrder.java +++ b/vadl-pass-api/main/vadl/pass/PassOrder.java @@ -16,7 +16,6 @@ package vadl.pass; -import java.nio.file.Path; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -24,9 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.BiFunction; import javax.annotation.Nullable; -import vadl.configuration.DumpMode; -import vadl.configuration.GeneralConfiguration; -import vadl.dump.HtmlDumpPass; /** * This class defines the order in which the {@link PassManager} should run them. @@ -184,20 +180,6 @@ public PassOrder addBetweenEach(BiFunction, Optional> return this; } - /** - * Adds a dump pass that outputs the dump to the given path. - */ - public PassOrder addDump(String outPath) { - var config = new GeneralConfiguration(Path.of(outPath), DumpMode.ALWAYS); - var last = order.getLast(); - HtmlDumpPass dumpPass = new HtmlDumpPass(HtmlDumpPass.Config.from(config, - last.pass().getName().value(), - "This is a dump right after the pass " + last.key().value() + "." - )); - add(dumpPass); - return this; - } - private PassStep createPassStep(@Nullable PassKey passKey, Pass pass) { var currentId = passCounter.merge(pass.getClass(), 1, Integer::sum); if (passKey == null) { diff --git a/vadl/main/vadl/pass/PassResults.java b/vadl-pass-api/main/vadl/pass/PassResults.java similarity index 83% rename from vadl/main/vadl/pass/PassResults.java rename to vadl-pass-api/main/vadl/pass/PassResults.java index 88af56f1c..a85319334 100644 --- a/vadl/main/vadl/pass/PassResults.java +++ b/vadl-pass-api/main/vadl/pass/PassResults.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -18,12 +18,9 @@ import java.util.LinkedHashMap; import java.util.List; -import java.util.Objects; import java.util.stream.Stream; import javax.annotation.Nullable; -import vadl.dump.BehaviorTimelineDisplay; import vadl.pass.exception.PassError; -import vadl.viam.Definition; /** * Holds and maintains the pass results of all executed passes. @@ -169,8 +166,10 @@ public int size() { return store.size(); } - // this is only visible on package level to ensure that passes can't manipulate pass results - void add(PassKey key, Pass pass, long durationMs, @Nullable Object result) { + /** + * Stores the result of an executed pass. + */ + public void add(PassKey key, Pass pass, long durationMs, @Nullable Object result) { if (store.containsKey(key)) { // The pipeline's steps should be deterministic. // If we overwrite an already existing result then it is very likely @@ -182,7 +181,10 @@ void add(PassKey key, Pass pass, long durationMs, @Nullable Object result) { store.put(key, new SingleResult(key, pass, durationMs, result, false)); } - void addSkipped(PassKey key, Pass pass) { + /** + * Stores that a pass was skipped. + */ + public void addSkipped(PassKey key, Pass pass) { store.put(key, new SingleResult(key, pass, 0, null, true)); } @@ -236,46 +238,4 @@ public boolean skipped() { return skipped; } } - - /** - * This class is a {@link SingleResult} but indicates that the {@code result} is a dot graph - * which renderable for the behavior timeline in the dump. - */ - public static class DotGraphResult extends SingleResult implements BehaviorTimelineDisplay { - // VIAM definition of the graph. - private final Definition definition; - - /** - * Constructor. - */ - public DotGraphResult(PassKey passKey, - Pass pass, - long durationMs, - String result, - boolean skipped, - Definition definition) { - super(passKey, pass, durationMs, result, skipped); - this.definition = definition; - } - - @Override - public String passId() { - return passKey.value(); - } - - @Override - public String passName() { - return pass.getClass().getSimpleName(); - } - - @Override - public String dotGraph() { - // We know that the cast is ok because the constructor also expects a string. - return (String) Objects.requireNonNull(result); - } - - public Definition definition() { - return definition; - } - } } diff --git a/vadl/main/vadl/pass/PassStep.java b/vadl-pass-api/main/vadl/pass/PassStep.java similarity index 94% rename from vadl/main/vadl/pass/PassStep.java rename to vadl-pass-api/main/vadl/pass/PassStep.java index b4a8531a9..a1acf86d6 100644 --- a/vadl/main/vadl/pass/PassStep.java +++ b/vadl-pass-api/main/vadl/pass/PassStep.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/pass/exception/DuplicatedPassKeyException.java b/vadl-pass-api/main/vadl/pass/exception/DuplicatedPassKeyException.java similarity index 94% rename from vadl/main/vadl/pass/exception/DuplicatedPassKeyException.java rename to vadl-pass-api/main/vadl/pass/exception/DuplicatedPassKeyException.java index e263e2781..80b47c840 100644 --- a/vadl/main/vadl/pass/exception/DuplicatedPassKeyException.java +++ b/vadl-pass-api/main/vadl/pass/exception/DuplicatedPassKeyException.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/pass/exception/PassError.java b/vadl-pass-api/main/vadl/pass/exception/PassError.java similarity index 95% rename from vadl/main/vadl/pass/exception/PassError.java rename to vadl-pass-api/main/vadl/pass/exception/PassError.java index ba7e7e6e3..8bd3f5093 100644 --- a/vadl/main/vadl/pass/exception/PassError.java +++ b/vadl-pass-api/main/vadl/pass/exception/PassError.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl-pass-api/main/vadl/pipeline/PassOrderPipelineUtils.java b/vadl-pass-api/main/vadl/pipeline/PassOrderPipelineUtils.java new file mode 100644 index 000000000..2ca3b6a8c --- /dev/null +++ b/vadl-pass-api/main/vadl/pipeline/PassOrderPipelineUtils.java @@ -0,0 +1,69 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import com.google.common.collect.Streams; +import java.util.Optional; +import java.util.stream.Stream; +import vadl.configuration.GeneralConfiguration; +import vadl.dump.CollectBehaviorDotGraphPass; +import vadl.dump.HtmlDumpPass; +import vadl.pass.PassOrder; +import vadl.template.AbstractTemplateRenderingPass; +import vadl.viam.passes.verification.ViamVerificationPass; + +/** + * Shared helpers for wiring dump-related passes into pipeline definitions. + */ +public final class PassOrderPipelineUtils { + private PassOrderPipelineUtils() { + } + + /** + * Appends the standard HTML dump passes for a pipeline phase when dumping is enabled. + */ + public static PassOrder addHtmlDump(PassOrder order, + GeneralConfiguration config, + String phase, + String description, + Class... exclusions) { + if (config.doDump()) { + addDumpBehaviorCollectionPasses(order, config, exclusions); + var htmlConfig = HtmlDumpPass.Config.from(config, phase, description); + order.add(new HtmlDumpPass(htmlConfig)); + } + + return order; + } + + /** + * Inserts behavior collection passes between pipeline steps when dumping is enabled. + */ + public static PassOrder addDumpBehaviorCollectionPasses(PassOrder order, + GeneralConfiguration config, + Class... exceptions) { + if (!config.doDump()) { + return order; + } + + var dontRun = Streams.concat(Stream.of( + ViamVerificationPass.class, + AbstractTemplateRenderingPass.class, + CollectBehaviorDotGraphPass.class + ), Stream.of(exceptions)).toList(); + + order.addBetweenEach((prev, next) -> { + if (dontRun.stream().anyMatch(a -> a.isInstance(prev))) { + return Optional.empty(); + } + + if (next.orElse(null) instanceof CollectBehaviorDotGraphPass) { + return Optional.empty(); + } + + return Optional.of(new CollectBehaviorDotGraphPass(config)); + }); + return order; + } +} diff --git a/vadl-pass-api/main/vadl/pipeline/ViamCreationPass.java b/vadl-pass-api/main/vadl/pipeline/ViamCreationPass.java new file mode 100644 index 000000000..3f6c5acab --- /dev/null +++ b/vadl-pass-api/main/vadl/pipeline/ViamCreationPass.java @@ -0,0 +1,32 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import java.io.IOException; +import javax.annotation.Nullable; +import vadl.configuration.GeneralConfiguration; +import vadl.pass.Pass; +import vadl.pass.PassName; +import vadl.pass.PassResults; +import vadl.viam.Specification; + +/** + * Pseudo pass that marks the VIAM creation point for dumps and pipeline composition. + */ +public final class ViamCreationPass extends Pass { + public ViamCreationPass(GeneralConfiguration configuration) { + super(configuration); + } + + @Override + public PassName getName() { + return PassName.of("VIAM Creation (pseudo pass)"); + } + + @Nullable + @Override + public Object execute(PassResults passResults, Specification viam) throws IOException { + return null; + } +} diff --git a/vadl-pass-api/main/vadl/pipeline/ViamPassOrders.java b/vadl-pass-api/main/vadl/pipeline/ViamPassOrders.java new file mode 100644 index 000000000..2e011c973 --- /dev/null +++ b/vadl-pass-api/main/vadl/pipeline/ViamPassOrders.java @@ -0,0 +1,74 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import java.io.IOException; +import vadl.configuration.GeneralConfiguration; +import vadl.pass.PassOrder; +import vadl.viam.passes.ControlFlowOptimizationPass; +import vadl.viam.passes.DetectRegisterIndicesPass; +import vadl.viam.passes.DuplicateWriteDetectionPass; +import vadl.viam.passes.HardcodeLGALabelPass; +import vadl.viam.passes.InstructionResourceAccessAnalysisPass; +import vadl.viam.passes.NormalizeFieldsToFieldAccessFunctionsPass; +import vadl.viam.passes.SnapshotInstructionBehaviorPass; +import vadl.viam.passes.algebraic_simplication.AlgebraicSimplificationPass; +import vadl.viam.passes.behaviorRewrite.BehaviorRewritePass; +import vadl.viam.passes.canonicalization.CanonicalizationPass; +import vadl.viam.passes.functionInliner.ArtificialResInlinerPass; +import vadl.viam.passes.functionInliner.FieldAccessInlinerPass; +import vadl.viam.passes.functionInliner.FunctionInlinerPass; +import vadl.viam.passes.sideeffect_condition.SideEffectConditionResolvingPass; +import vadl.viam.passes.staticCounterAccess.StaticCounterAccessResolvingPass; +import vadl.viam.passes.statusBuiltInInlinePass.RemoveUnusedStatusFlagsFromBuiltinsPass; +import vadl.viam.passes.statusBuiltInInlinePass.StatusBuiltInInlinePass; +import vadl.viam.passes.verification.ViamVerificationPass; + +/** + * Shared VIAM pipeline fragments used as the base for backend-specific pipelines. + */ +public final class ViamPassOrders { + private ViamPassOrders() { + } + + /** + * Creates the shared VIAM base pipeline used by backend-specific pipelines. + */ + public static PassOrder viam(GeneralConfiguration configuration) throws IOException { + var order = new PassOrder(); + + order.add(new ViamCreationPass(configuration)); + order.add(new ViamVerificationPass(configuration)); + + order.add(new DetectRegisterIndicesPass(configuration)); + order.add(new vadl.lcb.passes.OverwriteInputOperandsPass(configuration)); + order.add(new NormalizeFieldsToFieldAccessFunctionsPass(configuration)); + order.add(new vadl.gcb.passes.RenamingConflictingRegistersPass(configuration)); + order.add(new SnapshotInstructionBehaviorPass(configuration)); + + order.add(new RemoveUnusedStatusFlagsFromBuiltinsPass(configuration)); + order.add(new StatusBuiltInInlinePass(configuration)); + + order.add(new CanonicalizationPass(configuration)); + order.add(new AlgebraicSimplificationPass(configuration)); + order.add(new BehaviorRewritePass(configuration)); + + order.add(new StaticCounterAccessResolvingPass(configuration)); + order.add(new FunctionInlinerPass(configuration)); + order.add(new FieldAccessInlinerPass(configuration)); + order.add(new ArtificialResInlinerPass(configuration)); + order.add(new ControlFlowOptimizationPass(configuration)); + order.add(new SideEffectConditionResolvingPass(configuration)); + order.add(new DuplicateWriteDetectionPass(configuration)); + + order.add(new CanonicalizationPass(configuration)); + order.add(new AlgebraicSimplificationPass(configuration)); + order.add(new BehaviorRewritePass(configuration)); + order.add(new InstructionResourceAccessAnalysisPass(configuration)); + order.add(new HardcodeLGALabelPass(configuration)); + order.add(new ViamVerificationPass(configuration)); + + return order; + } +} diff --git a/vadl/main/vadl/template/AbstractMultiTemplateRenderingPass.java b/vadl-pass-api/main/vadl/template/AbstractMultiTemplateRenderingPass.java similarity index 98% rename from vadl/main/vadl/template/AbstractMultiTemplateRenderingPass.java rename to vadl-pass-api/main/vadl/template/AbstractMultiTemplateRenderingPass.java index 018276932..78c7bc34d 100644 --- a/vadl/main/vadl/template/AbstractMultiTemplateRenderingPass.java +++ b/vadl-pass-api/main/vadl/template/AbstractMultiTemplateRenderingPass.java @@ -46,7 +46,6 @@ import vadl.configuration.GeneralConfiguration; import vadl.cppCodeGen.formatting.CodeFormatter; import vadl.dump.ArtifactTracker; -import vadl.iss.template.IssTemplateRenderingPass; import vadl.pass.Pass; import vadl.pass.PassResults; import vadl.viam.Specification; @@ -147,7 +146,7 @@ protected abstract List createRenderInputs(final PassResults passRe /** * Allows a subclass defining a code formatter that formats the emitted file. - * See {@link IssTemplateRenderingPass#getFormatter()} for an example. + * For example, target-specific renderers may return a formatter for generated C or Scala files. */ public @Nullable CodeFormatter getFormatter() { return null; diff --git a/vadl/main/vadl/template/AbstractTemplateRenderingPass.java b/vadl-pass-api/main/vadl/template/AbstractTemplateRenderingPass.java similarity index 100% rename from vadl/main/vadl/template/AbstractTemplateRenderingPass.java rename to vadl-pass-api/main/vadl/template/AbstractTemplateRenderingPass.java diff --git a/vadl/main/vadl/template/PrependingWriter.java b/vadl-pass-api/main/vadl/template/PrependingWriter.java similarity index 100% rename from vadl/main/vadl/template/PrependingWriter.java rename to vadl-pass-api/main/vadl/template/PrependingWriter.java diff --git a/vadl/main/vadl/template/Renderable.java b/vadl-pass-api/main/vadl/template/Renderable.java similarity index 100% rename from vadl/main/vadl/template/Renderable.java rename to vadl-pass-api/main/vadl/template/Renderable.java diff --git a/vadl/main/vadl/template/VariableNormalizer.java b/vadl-pass-api/main/vadl/template/VariableNormalizer.java similarity index 100% rename from vadl/main/vadl/template/VariableNormalizer.java rename to vadl-pass-api/main/vadl/template/VariableNormalizer.java diff --git a/vadl/main/vadl/utils/VadlFileUtils.java b/vadl-pass-api/main/vadl/utils/VadlFileUtils.java similarity index 96% rename from vadl/main/vadl/utils/VadlFileUtils.java rename to vadl-pass-api/main/vadl/utils/VadlFileUtils.java index e7740d7c0..10212d287 100644 --- a/vadl/main/vadl/utils/VadlFileUtils.java +++ b/vadl-pass-api/main/vadl/utils/VadlFileUtils.java @@ -23,6 +23,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.io.Writer; import java.net.URI; @@ -69,6 +70,19 @@ public static void copyFile(Path source, Path target) throws IOException { Files.copy(source, target); } + /** + * Copy a classpath resource to {@code target}. + */ + public static void copyResource(String resourcePath, Path target) throws IOException { + var resource = resourcePath.startsWith("/") ? resourcePath : "/" + resourcePath; + try (InputStream in = Objects.requireNonNull( + VadlFileUtils.class.getResourceAsStream(resource), + "Resource not found: " + resource + )) { + Files.copy(in, target); + } + } + /** * Copy a directory from {@code source} to {@code target}. */ @@ -325,4 +339,3 @@ public static Path createTempDirectory(String prefix) throws IOException { } - diff --git a/vadl/main/vadl/viam/passes/ControlFlowOptimizationPass.java b/vadl-pass-api/main/vadl/viam/passes/ControlFlowOptimizationPass.java similarity index 98% rename from vadl/main/vadl/viam/passes/ControlFlowOptimizationPass.java rename to vadl-pass-api/main/vadl/viam/passes/ControlFlowOptimizationPass.java index a5ab5539f..825109ec8 100644 --- a/vadl/main/vadl/viam/passes/ControlFlowOptimizationPass.java +++ b/vadl-pass-api/main/vadl/viam/passes/ControlFlowOptimizationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -34,6 +34,7 @@ import vadl.viam.graph.control.AbstractEndNode; import vadl.viam.graph.control.BranchBeginNode; import vadl.viam.graph.control.BranchEndNode; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.ControlSplitNode; import vadl.viam.graph.control.IfNode; diff --git a/vadl/main/vadl/viam/passes/DetectRegisterIndicesPass.java b/vadl-pass-api/main/vadl/viam/passes/DetectRegisterIndicesPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/DetectRegisterIndicesPass.java rename to vadl-pass-api/main/vadl/viam/passes/DetectRegisterIndicesPass.java diff --git a/vadl/main/vadl/viam/passes/DuplicateWriteDetectionPass.java b/vadl-pass-api/main/vadl/viam/passes/DuplicateWriteDetectionPass.java similarity index 95% rename from vadl/main/vadl/viam/passes/DuplicateWriteDetectionPass.java rename to vadl-pass-api/main/vadl/viam/passes/DuplicateWriteDetectionPass.java index 87a599088..3a7b52d65 100644 --- a/vadl/main/vadl/viam/passes/DuplicateWriteDetectionPass.java +++ b/vadl-pass-api/main/vadl/viam/passes/DuplicateWriteDetectionPass.java @@ -33,13 +33,11 @@ import vadl.configuration.GeneralConfiguration; import vadl.error.DiagnosticBuilder; import vadl.error.DiagnosticList; -import vadl.iss.passes.extensions.RegInfo; import vadl.pass.Pass; import vadl.pass.PassName; import vadl.pass.PassResults; import vadl.types.BuiltInTable; import vadl.viam.Definition; -import vadl.viam.RegisterTensor; import vadl.viam.Specification; import vadl.viam.graph.Graph; import vadl.viam.graph.dependency.BuiltInCall; @@ -156,20 +154,6 @@ void run() { } private boolean skipCheck() { - var hasHelperOnlyRegAccess = behavior.getNodes(ReadResourceNode.class).anyMatch(n -> - n.resourceDefinition() instanceof RegisterTensor reg - && reg.hasExtension(RegInfo.class) - && reg.expectExtension(RegInfo.class).execClass() == RegInfo.ExecClass.HELPER_ONLY - ) || behavior.getNodes(WriteRegTensorNode.class).anyMatch(n -> - n.regTensor().hasExtension(RegInfo.class) - && n.regTensor().expectExtension(RegInfo.class).execClass() - == RegInfo.ExecClass.HELPER_ONLY - ); - if (hasHelperOnlyRegAccess) { - return true; - } - - // fallback for non-ISS pipelines where RegInfo is not attached return behavior.getNodes(ReadResourceNode.class).anyMatch(n -> n.type().bitWidth() > 64) || behavior.getNodes(WriteRegTensorNode.class).anyMatch(n -> n.writeBitWidth() > 64); } diff --git a/vadl/main/vadl/viam/passes/HardcodeLGALabelPass.java b/vadl-pass-api/main/vadl/viam/passes/HardcodeLGALabelPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/HardcodeLGALabelPass.java rename to vadl-pass-api/main/vadl/viam/passes/HardcodeLGALabelPass.java diff --git a/vadl/main/vadl/viam/passes/InstructionResourceAccessAnalysisPass.java b/vadl-pass-api/main/vadl/viam/passes/InstructionResourceAccessAnalysisPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/InstructionResourceAccessAnalysisPass.java rename to vadl-pass-api/main/vadl/viam/passes/InstructionResourceAccessAnalysisPass.java diff --git a/vadl/main/vadl/viam/passes/NormalizeFieldsToFieldAccessFunctionsPass.java b/vadl-pass-api/main/vadl/viam/passes/NormalizeFieldsToFieldAccessFunctionsPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/NormalizeFieldsToFieldAccessFunctionsPass.java rename to vadl-pass-api/main/vadl/viam/passes/NormalizeFieldsToFieldAccessFunctionsPass.java diff --git a/vadl/main/vadl/viam/passes/SnapshotInstructionBehaviorPass.java b/vadl-pass-api/main/vadl/viam/passes/SnapshotInstructionBehaviorPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/SnapshotInstructionBehaviorPass.java rename to vadl-pass-api/main/vadl/viam/passes/SnapshotInstructionBehaviorPass.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplificationPass.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplificationPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplificationPass.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplificationPass.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplifier.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplifier.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplifier.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/AlgebraicSimplifier.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/AlgebraicSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/AlgebraicSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/AlgebraicSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/AlgebraicSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/RotateSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/RotateSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/RotateSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/RotateSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/ShiftSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/ShiftSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/ShiftSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/ShiftSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/SubtractOnSameOperandSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/SubtractOnSameOperandSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/algebraic_simplication/rules/impl/SubtractOnSameOperandSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/algebraic_simplication/rules/impl/SubtractOnSameOperandSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/behaviorRewrite/BehaviorRewritePass.java b/vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/BehaviorRewritePass.java similarity index 100% rename from vadl/main/vadl/viam/passes/behaviorRewrite/BehaviorRewritePass.java rename to vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/BehaviorRewritePass.java diff --git a/vadl/main/vadl/viam/passes/behaviorRewrite/BehaviorRewriteSimplifier.java b/vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/BehaviorRewriteSimplifier.java similarity index 100% rename from vadl/main/vadl/viam/passes/behaviorRewrite/BehaviorRewriteSimplifier.java rename to vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/BehaviorRewriteSimplifier.java diff --git a/vadl/main/vadl/viam/passes/behaviorRewrite/rules/BehaviorRewriteSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/rules/BehaviorRewriteSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/behaviorRewrite/rules/BehaviorRewriteSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/rules/BehaviorRewriteSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/behaviorRewrite/rules/impl/LetNodeSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/rules/impl/LetNodeSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/behaviorRewrite/rules/impl/LetNodeSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/rules/impl/LetNodeSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/behaviorRewrite/rules/impl/MergeSMullAndTruncateToMulSimplificationRule.java b/vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/rules/impl/MergeSMullAndTruncateToMulSimplificationRule.java similarity index 100% rename from vadl/main/vadl/viam/passes/behaviorRewrite/rules/impl/MergeSMullAndTruncateToMulSimplificationRule.java rename to vadl-pass-api/main/vadl/viam/passes/behaviorRewrite/rules/impl/MergeSMullAndTruncateToMulSimplificationRule.java diff --git a/vadl/main/vadl/viam/passes/canonicalization/CanonicalizationPass.java b/vadl-pass-api/main/vadl/viam/passes/canonicalization/CanonicalizationPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/canonicalization/CanonicalizationPass.java rename to vadl-pass-api/main/vadl/viam/passes/canonicalization/CanonicalizationPass.java diff --git a/vadl/main/vadl/viam/passes/functionInliner/ArtificialResInlinerPass.java b/vadl-pass-api/main/vadl/viam/passes/functionInliner/ArtificialResInlinerPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/functionInliner/ArtificialResInlinerPass.java rename to vadl-pass-api/main/vadl/viam/passes/functionInliner/ArtificialResInlinerPass.java diff --git a/vadl/main/vadl/viam/passes/functionInliner/FieldAccessInlinerPass.java b/vadl-pass-api/main/vadl/viam/passes/functionInliner/FieldAccessInlinerPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/functionInliner/FieldAccessInlinerPass.java rename to vadl-pass-api/main/vadl/viam/passes/functionInliner/FieldAccessInlinerPass.java diff --git a/vadl/main/vadl/viam/passes/functionInliner/FunctionInlinerPass.java b/vadl-pass-api/main/vadl/viam/passes/functionInliner/FunctionInlinerPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/functionInliner/FunctionInlinerPass.java rename to vadl-pass-api/main/vadl/viam/passes/functionInliner/FunctionInlinerPass.java diff --git a/vadl/main/vadl/viam/passes/functionInliner/UninlinedGraph.java b/vadl-pass-api/main/vadl/viam/passes/functionInliner/UninlinedGraph.java similarity index 100% rename from vadl/main/vadl/viam/passes/functionInliner/UninlinedGraph.java rename to vadl-pass-api/main/vadl/viam/passes/functionInliner/UninlinedGraph.java diff --git a/vadl/main/vadl/viam/passes/loopUnrolling/LoopUnroller.java b/vadl-pass-api/main/vadl/viam/passes/loopUnrolling/LoopUnroller.java similarity index 99% rename from vadl/main/vadl/viam/passes/loopUnrolling/LoopUnroller.java rename to vadl-pass-api/main/vadl/viam/passes/loopUnrolling/LoopUnroller.java index 6268bd452..c9d21f07f 100644 --- a/vadl/main/vadl/viam/passes/loopUnrolling/LoopUnroller.java +++ b/vadl-pass-api/main/vadl/viam/passes/loopUnrolling/LoopUnroller.java @@ -28,6 +28,7 @@ import vadl.viam.graph.Graph; import vadl.viam.graph.Node; import vadl.viam.graph.control.AbstractEndNode; +import vadl.viam.graph.control.CfgTraverser; import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.DirectionalNode; import vadl.viam.graph.control.ForallEndNode; @@ -36,7 +37,6 @@ import vadl.viam.graph.dependency.ConstantNode; import vadl.viam.graph.dependency.ForIdxNode; import vadl.viam.graph.dependency.SideEffectNode; -import vadl.viam.passes.CfgTraverser; /** * Loop unroller pass for VIAM graphs. Unrolls forall statements in the control flow graph. @@ -236,4 +236,4 @@ public ControlNode onControlNode(ControlNode controlNode) { class StopTraversal extends RuntimeException { -} \ No newline at end of file +} diff --git a/vadl/main/vadl/viam/passes/sideEffectScheduling/SideEffectSchedulingPass.java b/vadl-pass-api/main/vadl/viam/passes/sideEffectScheduling/SideEffectSchedulingPass.java similarity index 99% rename from vadl/main/vadl/viam/passes/sideEffectScheduling/SideEffectSchedulingPass.java rename to vadl-pass-api/main/vadl/viam/passes/sideEffectScheduling/SideEffectSchedulingPass.java index 066397853..154bdd2fb 100644 --- a/vadl/main/vadl/viam/passes/sideEffectScheduling/SideEffectSchedulingPass.java +++ b/vadl-pass-api/main/vadl/viam/passes/sideEffectScheduling/SideEffectSchedulingPass.java @@ -39,12 +39,12 @@ import vadl.viam.graph.control.ControlNode; import vadl.viam.graph.control.ControlSplitNode; import vadl.viam.graph.control.DirectionalNode; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.MergeNode; import vadl.viam.graph.control.ScheduledNode; import vadl.viam.graph.control.StartNode; import vadl.viam.graph.dependency.ProcCallNode; import vadl.viam.graph.dependency.WriteResourceNode; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * A pass that schedules side effects within the control flow graph (CFG) of instructions. @@ -247,4 +247,4 @@ private ControlNode skipDirectionals(ControlNode node) { } return node; } -} \ No newline at end of file +} diff --git a/vadl/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolver.java b/vadl-pass-api/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolver.java similarity index 100% rename from vadl/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolver.java rename to vadl-pass-api/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolver.java diff --git a/vadl/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolvingPass.java b/vadl-pass-api/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolvingPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolvingPass.java rename to vadl-pass-api/main/vadl/viam/passes/sideeffect_condition/SideEffectConditionResolvingPass.java diff --git a/vadl/main/vadl/viam/passes/staticCounterAccess/StaticCounterAccessResolvingPass.java b/vadl-pass-api/main/vadl/viam/passes/staticCounterAccess/StaticCounterAccessResolvingPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/staticCounterAccess/StaticCounterAccessResolvingPass.java rename to vadl-pass-api/main/vadl/viam/passes/staticCounterAccess/StaticCounterAccessResolvingPass.java diff --git a/vadl/main/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInliner.java b/vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInliner.java similarity index 100% rename from vadl/main/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInliner.java rename to vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInliner.java diff --git a/vadl/main/vadl/viam/passes/statusBuiltInInlinePass/Inliner.java b/vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/Inliner.java similarity index 100% rename from vadl/main/vadl/viam/passes/statusBuiltInInlinePass/Inliner.java rename to vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/Inliner.java diff --git a/vadl/main/vadl/viam/passes/statusBuiltInInlinePass/LogicInliner.java b/vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/LogicInliner.java similarity index 100% rename from vadl/main/vadl/viam/passes/statusBuiltInInlinePass/LogicInliner.java rename to vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/LogicInliner.java diff --git a/vadl/main/vadl/viam/passes/statusBuiltInInlinePass/RemoveUnusedStatusFlagsFromBuiltinsPass.java b/vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/RemoveUnusedStatusFlagsFromBuiltinsPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/statusBuiltInInlinePass/RemoveUnusedStatusFlagsFromBuiltinsPass.java rename to vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/RemoveUnusedStatusFlagsFromBuiltinsPass.java diff --git a/vadl/main/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltInInlinePass.java b/vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltInInlinePass.java similarity index 100% rename from vadl/main/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltInInlinePass.java rename to vadl-pass-api/main/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltInInlinePass.java diff --git a/vadl/main/vadl/viam/passes/translation_validation/ExplicitBitSizesInTypingPass.java b/vadl-pass-api/main/vadl/viam/passes/translation_validation/ExplicitBitSizesInTypingPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/translation_validation/ExplicitBitSizesInTypingPass.java rename to vadl-pass-api/main/vadl/viam/passes/translation_validation/ExplicitBitSizesInTypingPass.java diff --git a/vadl/main/vadl/viam/passes/translation_validation/ExtendMultiplicationPass.java b/vadl-pass-api/main/vadl/viam/passes/translation_validation/ExtendMultiplicationPass.java similarity index 100% rename from vadl/main/vadl/viam/passes/translation_validation/ExtendMultiplicationPass.java rename to vadl-pass-api/main/vadl/viam/passes/translation_validation/ExtendMultiplicationPass.java diff --git a/vadl/main/vadl/viam/passes/translation_validation/TranslationValidation.java b/vadl-pass-api/main/vadl/viam/passes/translation_validation/TranslationValidation.java similarity index 92% rename from vadl/main/vadl/viam/passes/translation_validation/TranslationValidation.java rename to vadl-pass-api/main/vadl/viam/passes/translation_validation/TranslationValidation.java index a9ce40211..f42f592c3 100644 --- a/vadl/main/vadl/viam/passes/translation_validation/TranslationValidation.java +++ b/vadl-pass-api/main/vadl/viam/passes/translation_validation/TranslationValidation.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -25,7 +25,6 @@ import java.util.stream.IntStream; import java.util.stream.Stream; import javax.annotation.Nonnull; -import vadl.cppCodeGen.SymbolTable; import vadl.error.Diagnostic; import vadl.types.BitsType; import vadl.types.SIntType; @@ -183,8 +182,8 @@ def prove(f): @Nonnull private static String generateFormula(List matchings) { - var symbolTableBeforeMatching = new SymbolTable(); - var symbolTableAfterMatching = new SymbolTable(matchings.size()); + var symbolTableBeforeMatching = new NameGenerator(); + var symbolTableAfterMatching = new NameGenerator(matchings.size()); return IntStream.range(0, matchings.size()) .mapToObj(i -> { @@ -197,15 +196,15 @@ private static String generateFormula(List matchings) { } private String getPredicates(List matchings) { - var symbolTableBefore = new SymbolTable(); - var symbolTableAfter = new SymbolTable(matchings.size()); + var symbolTableBefore = new NameGenerator(); + var symbolTableAfter = new NameGenerator(matchings.size()); return matchings.stream() .map(matching -> lowerSideEffect(matching, symbolTableBefore, symbolTableAfter)) .collect(Collectors.joining("\n")); } - private String lowerSideEffect(TranslationResult matching, SymbolTable symbolTableBefore, - SymbolTable symbolTableAfter) { + private String lowerSideEffect(TranslationResult matching, NameGenerator symbolTableBefore, + NameGenerator symbolTableAfter) { var beforeTranslationSymbol = symbolTableBefore.getNextVariable(); var afterTranslationSymbol = symbolTableAfter.getNextVariable(); @@ -217,6 +216,26 @@ private String lowerSideEffect(TranslationResult matching, SymbolTable symbolTab afterTranslationSymbol, matching.after.value()); } + private static final class NameGenerator { + private int state; + + NameGenerator() { + this(0); + } + + NameGenerator(int state) { + this.state = state; + } + + String getNextVariable() { + return getVariableBasedOnState(state++); + } + + private static String getVariableBasedOnState(int i) { + return i < 0 ? "" : getVariableBasedOnState((i / 26) - 1) + (char) (97 + i % 26); + } + } + private String getVariableDefinitions(Specification specification, Instruction before) { return Streams.concat( specification.registerTensors() diff --git a/vadl/main/vadl/viam/passes/translation_validation/Z3BuiltinTranslationMap.java b/vadl-pass-api/main/vadl/viam/passes/translation_validation/Z3BuiltinTranslationMap.java similarity index 100% rename from vadl/main/vadl/viam/passes/translation_validation/Z3BuiltinTranslationMap.java rename to vadl-pass-api/main/vadl/viam/passes/translation_validation/Z3BuiltinTranslationMap.java diff --git a/vadl/main/vadl/viam/passes/translation_validation/Z3CodeGeneratorVisitor.java b/vadl-pass-api/main/vadl/viam/passes/translation_validation/Z3CodeGeneratorVisitor.java similarity index 100% rename from vadl/main/vadl/viam/passes/translation_validation/Z3CodeGeneratorVisitor.java rename to vadl-pass-api/main/vadl/viam/passes/translation_validation/Z3CodeGeneratorVisitor.java diff --git a/vadl/main/vadl/viam/passes/verification/ViamVerificationPass.java b/vadl-pass-api/main/vadl/viam/passes/verification/ViamVerificationPass.java similarity index 67% rename from vadl/main/vadl/viam/passes/verification/ViamVerificationPass.java rename to vadl-pass-api/main/vadl/viam/passes/verification/ViamVerificationPass.java index d665f6adf..c1ce5b826 100644 --- a/vadl/main/vadl/viam/passes/verification/ViamVerificationPass.java +++ b/vadl-pass-api/main/vadl/viam/passes/verification/ViamVerificationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -18,16 +18,12 @@ import java.io.IOException; import javax.annotation.Nullable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import vadl.configuration.GeneralConfiguration; -import vadl.dump.HtmlDumpPass; import vadl.pass.Pass; import vadl.pass.PassName; import vadl.pass.PassResults; import vadl.viam.Definition; import vadl.viam.Specification; -import vadl.viam.ViamError; /** * A pass that runs the {@link ViamVerifier} on the given VIAM specification. @@ -37,8 +33,6 @@ * @see ViamVerifier */ public class ViamVerificationPass extends Pass { - private static final Logger log = LoggerFactory.getLogger(ViamVerificationPass.class); - public ViamVerificationPass(GeneralConfiguration configuration) { super(configuration); } @@ -52,18 +46,7 @@ public PassName getName() { @Override public Object execute(PassResults passResults, Specification viam) throws IOException { - try { - ViamVerifier.verifyAllIn(viam); - } catch (ViamError e) { - var result = (HtmlDumpPass.Result) new HtmlDumpPass( - HtmlDumpPass.Config.from(configuration(), - getName().value() + " Exception", - "This dump is due to an exception while running the viam verification pass.") - ).execute(passResults, viam); - log.error("A verification error was found.\nSee the dump at {}\n\n", - result.emittedFile().toAbsolutePath()); - throw e; - } + ViamVerifier.verifyAllIn(viam); return null; } } diff --git a/vadl/main/vadl/viam/passes/verification/ViamVerifier.java b/vadl-pass-api/main/vadl/viam/passes/verification/ViamVerifier.java similarity index 100% rename from vadl/main/vadl/viam/passes/verification/ViamVerifier.java rename to vadl-pass-api/main/vadl/viam/passes/verification/ViamVerifier.java diff --git a/vadl-rtl/build.gradle.kts b/vadl-rtl/build.gradle.kts new file mode 100644 index 000000000..b28691b14 --- /dev/null +++ b/vadl-rtl/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + id("conventions-jvm") +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(project(":vadl-core")) + implementation(project(":vadl-pass-api")) + implementation(project(":vadl-vdt")) + implementation(libs.guava) + implementation(libs.commons.lang3) +} diff --git a/vadl-rtl/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider b/vadl-rtl/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider new file mode 100644 index 000000000..194ad6ac4 --- /dev/null +++ b/vadl-rtl/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider @@ -0,0 +1 @@ +vadl.dump.RtlHtmlDumpExtensionProvider diff --git a/vadl/main/resources/templates/rtl/.devcontainer/devcontainer.json b/vadl-rtl/main/resources/templates/rtl/.devcontainer/devcontainer.json similarity index 100% rename from vadl/main/resources/templates/rtl/.devcontainer/devcontainer.json rename to vadl-rtl/main/resources/templates/rtl/.devcontainer/devcontainer.json diff --git a/vadl/main/resources/templates/rtl/.devcontainer/docker-compose.yaml b/vadl-rtl/main/resources/templates/rtl/.devcontainer/docker-compose.yaml similarity index 100% rename from vadl/main/resources/templates/rtl/.devcontainer/docker-compose.yaml rename to vadl-rtl/main/resources/templates/rtl/.devcontainer/docker-compose.yaml diff --git a/vadl/main/resources/templates/rtl/.scalafmt.conf b/vadl-rtl/main/resources/templates/rtl/.scalafmt.conf similarity index 100% rename from vadl/main/resources/templates/rtl/.scalafmt.conf rename to vadl-rtl/main/resources/templates/rtl/.scalafmt.conf diff --git a/vadl/main/resources/templates/rtl/Makefile b/vadl-rtl/main/resources/templates/rtl/Makefile similarity index 100% rename from vadl/main/resources/templates/rtl/Makefile rename to vadl-rtl/main/resources/templates/rtl/Makefile diff --git a/vadl/main/resources/templates/rtl/build.sbt b/vadl-rtl/main/resources/templates/rtl/build.sbt similarity index 100% rename from vadl/main/resources/templates/rtl/build.sbt rename to vadl-rtl/main/resources/templates/rtl/build.sbt diff --git a/vadl/main/resources/templates/rtl/cpp/SimMem.cpp b/vadl-rtl/main/resources/templates/rtl/cpp/SimMem.cpp similarity index 100% rename from vadl/main/resources/templates/rtl/cpp/SimMem.cpp rename to vadl-rtl/main/resources/templates/rtl/cpp/SimMem.cpp diff --git a/vadl/main/resources/templates/rtl/scala/CoreEmit.scala b/vadl-rtl/main/resources/templates/rtl/scala/CoreEmit.scala similarity index 100% rename from vadl/main/resources/templates/rtl/scala/CoreEmit.scala rename to vadl-rtl/main/resources/templates/rtl/scala/CoreEmit.scala diff --git a/vadl/main/resources/templates/rtl/scala/CoreTest.scala b/vadl-rtl/main/resources/templates/rtl/scala/CoreTest.scala similarity index 100% rename from vadl/main/resources/templates/rtl/scala/CoreTest.scala rename to vadl-rtl/main/resources/templates/rtl/scala/CoreTest.scala diff --git a/vadl/main/resources/templates/rtl/scala/ElfSim.scala b/vadl-rtl/main/resources/templates/rtl/scala/ElfSim.scala similarity index 100% rename from vadl/main/resources/templates/rtl/scala/ElfSim.scala rename to vadl-rtl/main/resources/templates/rtl/scala/ElfSim.scala diff --git a/vadl/main/resources/templates/rtl/scala/Module.scala b/vadl-rtl/main/resources/templates/rtl/scala/Module.scala similarity index 100% rename from vadl/main/resources/templates/rtl/scala/Module.scala rename to vadl-rtl/main/resources/templates/rtl/scala/Module.scala diff --git a/vadl/main/resources/templates/rtl/scala/VADL.scala b/vadl-rtl/main/resources/templates/rtl/scala/VADL.scala similarity index 100% rename from vadl/main/resources/templates/rtl/scala/VADL.scala rename to vadl-rtl/main/resources/templates/rtl/scala/VADL.scala diff --git a/vadl/main/resources/templates/rtl/sv/SimMem.sv b/vadl-rtl/main/resources/templates/rtl/sv/SimMem.sv similarity index 100% rename from vadl/main/resources/templates/rtl/sv/SimMem.sv rename to vadl-rtl/main/resources/templates/rtl/sv/SimMem.sv diff --git a/vadl/main/vadl/configuration/RtlConfiguration.java b/vadl-rtl/main/vadl/configuration/RtlConfiguration.java similarity index 100% rename from vadl/main/vadl/configuration/RtlConfiguration.java rename to vadl-rtl/main/vadl/configuration/RtlConfiguration.java diff --git a/vadl-rtl/main/vadl/dump/RtlHtmlDumpExtensionProvider.java b/vadl-rtl/main/vadl/dump/RtlHtmlDumpExtensionProvider.java new file mode 100644 index 000000000..bc1c9f8bc --- /dev/null +++ b/vadl-rtl/main/vadl/dump/RtlHtmlDumpExtensionProvider.java @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.util.List; +import vadl.dump.infoEnrichers.RtlEnricherCollection; + +/** + * Registers RTL-specific HTML dump extensions. + */ +public class RtlHtmlDumpExtensionProvider implements HtmlDumpExtensionProvider { + + @Override + public int priority() { + return 150; + } + + @Override + public void addInfoEnrichers(List enrichers) { + enrichers.addAll(RtlEnricherCollection.all); + } +} diff --git a/vadl/main/vadl/dump/infoEnrichers/RtlEnricherCollection.java b/vadl-rtl/main/vadl/dump/infoEnrichers/RtlEnricherCollection.java similarity index 100% rename from vadl/main/vadl/dump/infoEnrichers/RtlEnricherCollection.java rename to vadl-rtl/main/vadl/dump/infoEnrichers/RtlEnricherCollection.java diff --git a/vadl-rtl/main/vadl/pipeline/RtlPassOrders.java b/vadl-rtl/main/vadl/pipeline/RtlPassOrders.java new file mode 100644 index 000000000..29ce53a7e --- /dev/null +++ b/vadl-rtl/main/vadl/pipeline/RtlPassOrders.java @@ -0,0 +1,118 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import static vadl.configuration.DecoderOptions.Generator.RTL_TABLE; + +import java.io.IOException; +import vadl.configuration.RtlConfiguration; +import vadl.lcb.passes.OverwriteInputOperandsPass; +import vadl.pass.PassOrder; +import vadl.rtl.passes.CleanupEmitDirectoryPass; +import vadl.rtl.passes.ControlLogicPass; +import vadl.rtl.passes.DebugOutputPass; +import vadl.rtl.passes.EmitBuildSbtPass; +import vadl.rtl.passes.EmitCoreEmitPass; +import vadl.rtl.passes.EmitCoreTestPass; +import vadl.rtl.passes.EmitElfSimPass; +import vadl.rtl.passes.EmitModulesPass; +import vadl.rtl.passes.EmitRVFIOutputsPass; +import vadl.rtl.passes.EmitRtlDevcontainerConfigPass; +import vadl.rtl.passes.EmitRtlDevcontainerDockerComposePass; +import vadl.rtl.passes.EmitRtlMakefilePass; +import vadl.rtl.passes.EmitScalafmtConfigPass; +import vadl.rtl.passes.EmitSimMemCppPass; +import vadl.rtl.passes.EmitSimMemSvPass; +import vadl.rtl.passes.EmitVadlLibPass; +import vadl.rtl.passes.ForwardingLogicPass; +import vadl.rtl.passes.HazardAnalysisPass; +import vadl.rtl.passes.InstructionProgressGraphCreationPass; +import vadl.rtl.passes.InstructionProgressGraphLowerPass; +import vadl.rtl.passes.InstructionProgressGraphMergePass; +import vadl.rtl.passes.InstructionProgressGraphNamePass; +import vadl.rtl.passes.MiaMappingCreationPass; +import vadl.rtl.passes.MiaMappingInlinePass; +import vadl.rtl.passes.MiaMappingOptimizePass; +import vadl.rtl.passes.RtlConfigurationPass; +import vadl.rtl.passes.StageOrderingPass; +import vadl.viam.passes.NormalizeFieldsToFieldAccessFunctionsPass; + +/** + * RTL-specific pipeline extensions. + */ +public final class RtlPassOrders { + private RtlPassOrders() { + } + + public static PassOrder rtl(RtlConfiguration config) throws IOException { + return extendRtl(ViamPassOrders.viam(config), config); + } + + /** + * Extends a shared VIAM pipeline with RTL-specific lowering and emission passes. + */ + public static PassOrder extendRtl(PassOrder order, RtlConfiguration config) { + order.skip(NormalizeFieldsToFieldAccessFunctionsPass.class); + order.skip(vadl.gcb.passes.RenamingConflictingRegistersPass.class); + order.skip(OverwriteInputOperandsPass.class); + + order.add(new RtlConfigurationPass(config)); + order.add(new StageOrderingPass(config)); + order.add(new InstructionProgressGraphCreationPass(config)) + .add(new MiaMappingCreationPass(config)) + .add(new InstructionProgressGraphMergePass(config)) + .add(new MiaMappingOptimizePass(config)) + .add(new InstructionProgressGraphLowerPass(config)) + .add(new InstructionProgressGraphNamePass(config)); + + PassOrderPipelineUtils.addHtmlDump(order, config, + "mia-map", + "MiA after mapping instruction behavior"); + + order.add(new HazardAnalysisPass(config)); + + if (config.isEmitDebugPrint()) { + order.add(new DebugOutputPass(config)); + } + + order.add(new MiaMappingInlinePass(config)); + + if (config.isEmitRVFI()) { + order.add(new EmitRVFIOutputsPass(config)); + } + + order.add(new ForwardingLogicPass(config)) + .add(new ControlLogicPass(config)); + + PassOrderPipelineUtils.addHtmlDump(order, config, + "mia-inline", + "MiA after inlining instruction behavior"); + + if (config.getDecoderOptions().getGenerator() != RTL_TABLE) { + VdtPassOrders.addDecodePasses(order, config); + } + + if (!config.isDryRun()) { + addRtlEmitPasses(order, config); + } + + return order; + } + + private static void addRtlEmitPasses(PassOrder order, RtlConfiguration config) { + order.add(new EmitBuildSbtPass(config)) + .add(new EmitModulesPass(config)) + .add(new EmitVadlLibPass(config)) + .add(new EmitCoreTestPass(config)) + .add(new EmitCoreEmitPass(config)) + .add(new EmitElfSimPass(config)) + .add(new EmitSimMemSvPass(config)) + .add(new EmitSimMemCppPass(config)) + .add(new EmitScalafmtConfigPass(config)) + .add(new EmitRtlMakefilePass(config)) + .add(new EmitRtlDevcontainerConfigPass(config)) + .add(new EmitRtlDevcontainerDockerComposePass(config)) + .add(new CleanupEmitDirectoryPass(config)); + } +} diff --git a/vadl/main/vadl/rtl/analysis/HazardAnalysis.java b/vadl-rtl/main/vadl/rtl/analysis/HazardAnalysis.java similarity index 100% rename from vadl/main/vadl/rtl/analysis/HazardAnalysis.java rename to vadl-rtl/main/vadl/rtl/analysis/HazardAnalysis.java diff --git a/vadl/main/vadl/rtl/ipg/InstructionProgressGraph.java b/vadl-rtl/main/vadl/rtl/ipg/InstructionProgressGraph.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/InstructionProgressGraph.java rename to vadl-rtl/main/vadl/rtl/ipg/InstructionProgressGraph.java diff --git a/vadl/main/vadl/rtl/ipg/InstructionProgressGraphVisualizer.java b/vadl-rtl/main/vadl/rtl/ipg/InstructionProgressGraphVisualizer.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/InstructionProgressGraphVisualizer.java rename to vadl-rtl/main/vadl/rtl/ipg/InstructionProgressGraphVisualizer.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlConditionalMemNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlConditionalMemNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlConditionalMemNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlConditionalMemNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlConditionalNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlConditionalNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlConditionalNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlConditionalNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlConditionalReadNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlConditionalReadNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlConditionalReadNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlConditionalReadNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlDebugPrintNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlDebugPrintNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlDebugPrintNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlDebugPrintNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlDecodeTreeNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlDecodeTreeNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlDecodeTreeNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlDecodeTreeNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlInstructionWordSliceNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlInstructionWordSliceNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlInstructionWordSliceNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlInstructionWordSliceNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlInvalidInstructionNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlInvalidInstructionNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlInvalidInstructionNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlInvalidInstructionNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlIsInstructionNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlIsInstructionNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlIsInstructionNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlIsInstructionNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlOneHotDecodeNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlOneHotDecodeNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlOneHotDecodeNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlOneHotDecodeNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlReadMemNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlReadMemNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlReadMemNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlReadMemNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlReadRegTensorNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlReadRegTensorNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlReadRegTensorNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlReadRegTensorNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlResetSignalNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlResetSignalNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlResetSignalNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlResetSignalNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlSelectByInstructionNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlSelectByInstructionNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlSelectByInstructionNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlSelectByInstructionNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlValidSignalNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlValidSignalNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlValidSignalNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlValidSignalNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlWriteMemNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlWriteMemNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlWriteMemNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlWriteMemNode.java diff --git a/vadl/main/vadl/rtl/ipg/nodes/RtlWriteRegTensorNode.java b/vadl-rtl/main/vadl/rtl/ipg/nodes/RtlWriteRegTensorNode.java similarity index 100% rename from vadl/main/vadl/rtl/ipg/nodes/RtlWriteRegTensorNode.java rename to vadl-rtl/main/vadl/rtl/ipg/nodes/RtlWriteRegTensorNode.java diff --git a/vadl/main/vadl/rtl/map/MiaBuiltInCallMatcher.java b/vadl-rtl/main/vadl/rtl/map/MiaBuiltInCallMatcher.java similarity index 100% rename from vadl/main/vadl/rtl/map/MiaBuiltInCallMatcher.java rename to vadl-rtl/main/vadl/rtl/map/MiaBuiltInCallMatcher.java diff --git a/vadl/main/vadl/rtl/map/MiaMapping.java b/vadl-rtl/main/vadl/rtl/map/MiaMapping.java similarity index 100% rename from vadl/main/vadl/rtl/map/MiaMapping.java rename to vadl-rtl/main/vadl/rtl/map/MiaMapping.java diff --git a/vadl/main/vadl/rtl/passes/AbstractLogicPass.java b/vadl-rtl/main/vadl/rtl/passes/AbstractLogicPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/AbstractLogicPass.java rename to vadl-rtl/main/vadl/rtl/passes/AbstractLogicPass.java diff --git a/vadl/main/vadl/rtl/passes/AbstractRtlPass.java b/vadl-rtl/main/vadl/rtl/passes/AbstractRtlPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/AbstractRtlPass.java rename to vadl-rtl/main/vadl/rtl/passes/AbstractRtlPass.java diff --git a/vadl/main/vadl/rtl/passes/CleanupEmitDirectoryPass.java b/vadl-rtl/main/vadl/rtl/passes/CleanupEmitDirectoryPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/CleanupEmitDirectoryPass.java rename to vadl-rtl/main/vadl/rtl/passes/CleanupEmitDirectoryPass.java diff --git a/vadl/main/vadl/rtl/passes/ControlLogicPass.java b/vadl-rtl/main/vadl/rtl/passes/ControlLogicPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/ControlLogicPass.java rename to vadl-rtl/main/vadl/rtl/passes/ControlLogicPass.java diff --git a/vadl/main/vadl/rtl/passes/DebugOutputPass.java b/vadl-rtl/main/vadl/rtl/passes/DebugOutputPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/DebugOutputPass.java rename to vadl-rtl/main/vadl/rtl/passes/DebugOutputPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitBuildSbtPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitBuildSbtPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitBuildSbtPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitBuildSbtPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitCoreEmitPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitCoreEmitPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitCoreEmitPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitCoreEmitPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitCoreTestPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitCoreTestPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitCoreTestPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitCoreTestPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitElfSimPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitElfSimPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitElfSimPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitElfSimPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitModulesPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitModulesPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitModulesPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitModulesPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitRVFIOutputsPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitRVFIOutputsPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitRVFIOutputsPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitRVFIOutputsPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitRtlDevcontainerConfigPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitRtlDevcontainerConfigPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitRtlDevcontainerConfigPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitRtlDevcontainerConfigPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitRtlDevcontainerDockerComposePass.java b/vadl-rtl/main/vadl/rtl/passes/EmitRtlDevcontainerDockerComposePass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitRtlDevcontainerDockerComposePass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitRtlDevcontainerDockerComposePass.java diff --git a/vadl/main/vadl/rtl/passes/EmitRtlMakefilePass.java b/vadl-rtl/main/vadl/rtl/passes/EmitRtlMakefilePass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitRtlMakefilePass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitRtlMakefilePass.java diff --git a/vadl/main/vadl/rtl/passes/EmitScalafmtConfigPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitScalafmtConfigPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitScalafmtConfigPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitScalafmtConfigPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitSimMemCppPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitSimMemCppPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitSimMemCppPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitSimMemCppPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitSimMemSvPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitSimMemSvPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitSimMemSvPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitSimMemSvPass.java diff --git a/vadl/main/vadl/rtl/passes/EmitVadlLibPass.java b/vadl-rtl/main/vadl/rtl/passes/EmitVadlLibPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/EmitVadlLibPass.java rename to vadl-rtl/main/vadl/rtl/passes/EmitVadlLibPass.java diff --git a/vadl/main/vadl/rtl/passes/ForwardingLogicPass.java b/vadl-rtl/main/vadl/rtl/passes/ForwardingLogicPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/ForwardingLogicPass.java rename to vadl-rtl/main/vadl/rtl/passes/ForwardingLogicPass.java diff --git a/vadl/main/vadl/rtl/passes/HazardAnalysisPass.java b/vadl-rtl/main/vadl/rtl/passes/HazardAnalysisPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/HazardAnalysisPass.java rename to vadl-rtl/main/vadl/rtl/passes/HazardAnalysisPass.java diff --git a/vadl/main/vadl/rtl/passes/InstructionProgressGraphCreationPass.java b/vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphCreationPass.java similarity index 98% rename from vadl/main/vadl/rtl/passes/InstructionProgressGraphCreationPass.java rename to vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphCreationPass.java index ee10ae154..4defb6815 100644 --- a/vadl/main/vadl/rtl/passes/InstructionProgressGraphCreationPass.java +++ b/vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphCreationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -18,6 +18,7 @@ import com.google.common.collect.Streams; import java.io.IOException; +import java.nio.ByteOrder; import java.util.Arrays; import java.util.Collections; import java.util.LinkedHashMap; @@ -47,9 +48,9 @@ import vadl.viam.Constant; import vadl.viam.Instruction; import vadl.viam.InstructionSetArchitecture; +import vadl.viam.InstructionWordOrderExtension; import vadl.viam.MicroArchitecture; import vadl.viam.RegisterResource; -import vadl.viam.RegisterTensor; import vadl.viam.Specification; import vadl.viam.ViamError; import vadl.viam.graph.Graph; @@ -123,6 +124,7 @@ public Object execute(PassResults passResults, Specification viam) throws IOExce // Attach IPG to ISA var ipgExt = new InstructionProgressGraphExtension(ipg); optIsa.get().attachExtension(ipgExt); + optIsa.get().attachExtension(new InstructionWordOrderExtension(ByteOrder.BIG_ENDIAN)); return ipg; } @@ -325,7 +327,7 @@ private void inlineRegisterFileConstraints(InstructionProgressGraph ipg) { } private ExpressionNode newIndicesNeq(NodeList indices, - List constrValues) { + List constrValues) { return Streams.zip( indices.stream(), constrValues.stream(), (index, constr) -> GraphUtils.neq(index, constr.toNode()) diff --git a/vadl/main/vadl/rtl/passes/InstructionProgressGraphExtension.java b/vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphExtension.java similarity index 100% rename from vadl/main/vadl/rtl/passes/InstructionProgressGraphExtension.java rename to vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphExtension.java diff --git a/vadl/main/vadl/rtl/passes/InstructionProgressGraphLowerPass.java b/vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphLowerPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/InstructionProgressGraphLowerPass.java rename to vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphLowerPass.java diff --git a/vadl/main/vadl/rtl/passes/InstructionProgressGraphMergePass.java b/vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphMergePass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/InstructionProgressGraphMergePass.java rename to vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphMergePass.java diff --git a/vadl/main/vadl/rtl/passes/InstructionProgressGraphNamePass.java b/vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphNamePass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/InstructionProgressGraphNamePass.java rename to vadl-rtl/main/vadl/rtl/passes/InstructionProgressGraphNamePass.java diff --git a/vadl/main/vadl/rtl/passes/MiaMappingCreationPass.java b/vadl-rtl/main/vadl/rtl/passes/MiaMappingCreationPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/MiaMappingCreationPass.java rename to vadl-rtl/main/vadl/rtl/passes/MiaMappingCreationPass.java diff --git a/vadl/main/vadl/rtl/passes/MiaMappingInlinePass.java b/vadl-rtl/main/vadl/rtl/passes/MiaMappingInlinePass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/MiaMappingInlinePass.java rename to vadl-rtl/main/vadl/rtl/passes/MiaMappingInlinePass.java diff --git a/vadl/main/vadl/rtl/passes/MiaMappingOptimizePass.java b/vadl-rtl/main/vadl/rtl/passes/MiaMappingOptimizePass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/MiaMappingOptimizePass.java rename to vadl-rtl/main/vadl/rtl/passes/MiaMappingOptimizePass.java diff --git a/vadl/main/vadl/rtl/passes/RtlConfigurationPass.java b/vadl-rtl/main/vadl/rtl/passes/RtlConfigurationPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/RtlConfigurationPass.java rename to vadl-rtl/main/vadl/rtl/passes/RtlConfigurationPass.java diff --git a/vadl/main/vadl/rtl/passes/StageOrderingPass.java b/vadl-rtl/main/vadl/rtl/passes/StageOrderingPass.java similarity index 100% rename from vadl/main/vadl/rtl/passes/StageOrderingPass.java rename to vadl-rtl/main/vadl/rtl/passes/StageOrderingPass.java diff --git a/vadl/main/vadl/rtl/template/HdlBehavior.java b/vadl-rtl/main/vadl/rtl/template/HdlBehavior.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlBehavior.java rename to vadl-rtl/main/vadl/rtl/template/HdlBehavior.java diff --git a/vadl/main/vadl/rtl/template/HdlConnection.java b/vadl-rtl/main/vadl/rtl/template/HdlConnection.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlConnection.java rename to vadl-rtl/main/vadl/rtl/template/HdlConnection.java diff --git a/vadl/main/vadl/rtl/template/HdlEmitContext.java b/vadl-rtl/main/vadl/rtl/template/HdlEmitContext.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlEmitContext.java rename to vadl-rtl/main/vadl/rtl/template/HdlEmitContext.java diff --git a/vadl/main/vadl/rtl/template/HdlModule.java b/vadl-rtl/main/vadl/rtl/template/HdlModule.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlModule.java rename to vadl-rtl/main/vadl/rtl/template/HdlModule.java diff --git a/vadl/main/vadl/rtl/template/HdlPort.java b/vadl-rtl/main/vadl/rtl/template/HdlPort.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlPort.java rename to vadl-rtl/main/vadl/rtl/template/HdlPort.java diff --git a/vadl/main/vadl/rtl/template/HdlUtils.java b/vadl-rtl/main/vadl/rtl/template/HdlUtils.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlUtils.java rename to vadl-rtl/main/vadl/rtl/template/HdlUtils.java diff --git a/vadl/main/vadl/rtl/template/HdlWiring.java b/vadl-rtl/main/vadl/rtl/template/HdlWiring.java similarity index 100% rename from vadl/main/vadl/rtl/template/HdlWiring.java rename to vadl-rtl/main/vadl/rtl/template/HdlWiring.java diff --git a/vadl/main/vadl/rtl/template/RtlTemplateRenderingPass.java b/vadl-rtl/main/vadl/rtl/template/RtlTemplateRenderingPass.java similarity index 100% rename from vadl/main/vadl/rtl/template/RtlTemplateRenderingPass.java rename to vadl-rtl/main/vadl/rtl/template/RtlTemplateRenderingPass.java diff --git a/vadl/main/vadl/rtl/utils/GraphMergeUtils.java b/vadl-rtl/main/vadl/rtl/utils/GraphMergeUtils.java similarity index 100% rename from vadl/main/vadl/rtl/utils/GraphMergeUtils.java rename to vadl-rtl/main/vadl/rtl/utils/GraphMergeUtils.java diff --git a/vadl/main/vadl/rtl/utils/RtlSimplificationRules.java b/vadl-rtl/main/vadl/rtl/utils/RtlSimplificationRules.java similarity index 100% rename from vadl/main/vadl/rtl/utils/RtlSimplificationRules.java rename to vadl-rtl/main/vadl/rtl/utils/RtlSimplificationRules.java diff --git a/vadl/main/vadl/rtl/utils/RtlSimplifier.java b/vadl-rtl/main/vadl/rtl/utils/RtlSimplifier.java similarity index 100% rename from vadl/main/vadl/rtl/utils/RtlSimplifier.java rename to vadl-rtl/main/vadl/rtl/utils/RtlSimplifier.java diff --git a/vadl/main/vadl/rtl/utils/SubgraphUtils.java b/vadl-rtl/main/vadl/rtl/utils/SubgraphUtils.java similarity index 100% rename from vadl/main/vadl/rtl/utils/SubgraphUtils.java rename to vadl-rtl/main/vadl/rtl/utils/SubgraphUtils.java diff --git a/vadl-test/build.gradle.kts b/vadl-test/build.gradle.kts index 91af207e6..45ea2b902 100644 --- a/vadl-test/build.gradle.kts +++ b/vadl-test/build.gradle.kts @@ -1,12 +1,94 @@ plugins { id("conventions-jvm") + alias(libs.plugins.z3) } group = "vadl" version = "unspecified" +dependencies { + testCompileOnly(project(":java-annotations")) + testAnnotationProcessor(project(":java-annotations")) + + testImplementation(project(":vadl-core")) + testImplementation(project(":vadl-pass-api")) + testImplementation(project(":vadl-frontend")) + testImplementation(project(":vadl-vdt")) + testImplementation(project(":vadl-rtl")) + testImplementation(project(":vadl-iss")) + testImplementation(project(":vadl-lcb-gcb")) + + testImplementation(libs.guava) + testImplementation(libs.commons.io) + testImplementation(libs.commons.lang3) + testImplementation(libs.commons.text) + testImplementation(libs.z3.bootstrap) + + testImplementation(libs.buildkitcli) + testImplementation(libs.assertj.core) + testImplementation(libs.awaitility) + testImplementation(libs.testcontainers) + testImplementation(libs.archunit.junit5) + testImplementation(libs.velocity.engine.core) + testImplementation(libs.jqwik) + testImplementation(libs.snakeyaml) +} + sourceSets { test { + java.setSrcDirs(listOf("test")) resources.setSrcDirs(listOf("resources")) } } + +tasks.withType().configureEach { + environment("PROJECT_ROOT", rootDir.absolutePath) + useJUnitPlatform { + val include = System.getProperty("tags.include") + val exclude = System.getProperty("tags.exclude") + + if (include != null) { + includeTags(include) + } else { + excludeTags("BenchmarkTest") + } + + if (exclude != null) { + excludeTags(exclude) + } + } + jvmArgs("--enable-preview") + reports { + junitXml.required.set(true) + } +} + +val generators = listOf("iss", "lcb", "rtl") + +for (gen in generators) { + tasks.register("test-$gen") { + group = "verification" + failFast = true + val pkg = "vadl.$gen" + description = "Runs tests for the $pkg package" + testClassesDirs = sourceSets["test"].output.classesDirs + classpath = sourceSets["test"].runtimeClasspath + filter { + includeTestsMatching("$pkg.*") + } + } +} + +tasks.register("test-others") { + group = "verification" + val excludedPackages = generators.joinToString(", ") { "vadl.$it" } + description = "Runs tests for vadl.* packages excluding $excludedPackages" + testClassesDirs = sourceSets["test"].output.classesDirs + classpath = sourceSets["test"].runtimeClasspath + filter { + includeTestsMatching("vadl.*") + for (gen in generators) { + excludeTestsMatching("vadl.$gen.*") + } + } +} diff --git a/vadl/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/vadl-test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension similarity index 100% rename from vadl/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension rename to vadl-test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension diff --git a/vadl/test/resources/dumps/.gitignore b/vadl-test/resources/dumps/.gitignore similarity index 98% rename from vadl/test/resources/dumps/.gitignore rename to vadl-test/resources/dumps/.gitignore index dd69b0eb1..02ed0ca96 100644 --- a/vadl/test/resources/dumps/.gitignore +++ b/vadl-test/resources/dumps/.gitignore @@ -1,3 +1,3 @@ -# Generated by the unit tests if there is a mismatch between expected and actual dumps. -# These files should never be checked in, as they indicate a test error. +# Generated by the unit tests if there is a mismatch between expected and actual dumps. +# These files should never be checked in, as they indicate a test error. *.dump.actual \ No newline at end of file diff --git a/vadl/test/resources/dumps/imports.dump b/vadl-test/resources/dumps/imports.dump similarity index 100% rename from vadl/test/resources/dumps/imports.dump rename to vadl-test/resources/dumps/imports.dump diff --git a/vadl/test/resources/dumps/imports.vadl b/vadl-test/resources/dumps/imports.vadl similarity index 100% rename from vadl/test/resources/dumps/imports.vadl rename to vadl-test/resources/dumps/imports.vadl diff --git a/vadl/test/resources/dumps/imports/entry.vadl b/vadl-test/resources/dumps/imports/entry.vadl similarity index 100% rename from vadl/test/resources/dumps/imports/entry.vadl rename to vadl-test/resources/dumps/imports/entry.vadl diff --git a/vadl/test/resources/dumps/imports/isa_a.vadl b/vadl-test/resources/dumps/imports/isa_a.vadl similarity index 100% rename from vadl/test/resources/dumps/imports/isa_a.vadl rename to vadl-test/resources/dumps/imports/isa_a.vadl diff --git a/vadl/test/resources/dumps/imports/isa_b.vadl b/vadl-test/resources/dumps/imports/isa_b.vadl similarity index 100% rename from vadl/test/resources/dumps/imports/isa_b.vadl rename to vadl-test/resources/dumps/imports/isa_b.vadl diff --git a/vadl/test/resources/dumps/rv64im.dump b/vadl-test/resources/dumps/rv64im.dump similarity index 100% rename from vadl/test/resources/dumps/rv64im.dump rename to vadl-test/resources/dumps/rv64im.dump diff --git a/vadl/test/resources/embench/.gitignore b/vadl-test/resources/embench/.gitignore similarity index 100% rename from vadl/test/resources/embench/.gitignore rename to vadl-test/resources/embench/.gitignore diff --git a/vadl/test/resources/embench/AUTHORS b/vadl-test/resources/embench/AUTHORS similarity index 100% rename from vadl/test/resources/embench/AUTHORS rename to vadl-test/resources/embench/AUTHORS diff --git a/vadl/test/resources/embench/COPYING b/vadl-test/resources/embench/COPYING similarity index 100% rename from vadl/test/resources/embench/COPYING rename to vadl-test/resources/embench/COPYING diff --git a/vadl/test/resources/embench/ChangeLog b/vadl-test/resources/embench/ChangeLog similarity index 100% rename from vadl/test/resources/embench/ChangeLog rename to vadl-test/resources/embench/ChangeLog diff --git a/vadl/test/resources/embench/INSTALL b/vadl-test/resources/embench/INSTALL similarity index 100% rename from vadl/test/resources/embench/INSTALL rename to vadl-test/resources/embench/INSTALL diff --git a/vadl/test/resources/embench/NEWS b/vadl-test/resources/embench/NEWS similarity index 100% rename from vadl/test/resources/embench/NEWS rename to vadl-test/resources/embench/NEWS diff --git a/vadl/test/resources/embench/README-VADL.md b/vadl-test/resources/embench/README-VADL.md similarity index 100% rename from vadl/test/resources/embench/README-VADL.md rename to vadl-test/resources/embench/README-VADL.md diff --git a/vadl/test/resources/embench/README.md b/vadl-test/resources/embench/README.md similarity index 100% rename from vadl/test/resources/embench/README.md rename to vadl-test/resources/embench/README.md diff --git a/vadl/test/resources/embench/__run_gem5.sh b/vadl-test/resources/embench/__run_gem5.sh similarity index 100% rename from vadl/test/resources/embench/__run_gem5.sh rename to vadl-test/resources/embench/__run_gem5.sh diff --git a/vadl/test/resources/embench/__run_qemu.sh b/vadl-test/resources/embench/__run_qemu.sh similarity index 100% rename from vadl/test/resources/embench/__run_qemu.sh rename to vadl-test/resources/embench/__run_qemu.sh diff --git a/vadl/test/resources/embench/__run_spike.sh b/vadl-test/resources/embench/__run_spike.sh similarity index 100% rename from vadl/test/resources/embench/__run_spike.sh rename to vadl-test/resources/embench/__run_spike.sh diff --git a/vadl/test/resources/embench/__run_spike_rv64gc.sh b/vadl-test/resources/embench/__run_spike_rv64gc.sh similarity index 100% rename from vadl/test/resources/embench/__run_spike_rv64gc.sh rename to vadl-test/resources/embench/__run_spike_rv64gc.sh diff --git a/vadl/test/resources/embench/__run_vadl.sh b/vadl-test/resources/embench/__run_vadl.sh similarity index 100% rename from vadl/test/resources/embench/__run_vadl.sh rename to vadl-test/resources/embench/__run_vadl.sh diff --git a/vadl/test/resources/embench/__run_vadl_cycles.sh b/vadl-test/resources/embench/__run_vadl_cycles.sh similarity index 100% rename from vadl/test/resources/embench/__run_vadl_cycles.sh rename to vadl-test/resources/embench/__run_vadl_cycles.sh diff --git a/vadl/test/resources/embench/aarch64-compiler-rt.txt b/vadl-test/resources/embench/aarch64-compiler-rt.txt similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt.txt rename to vadl-test/resources/embench/aarch64-compiler-rt.txt diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/Makefile b/vadl-test/resources/embench/aarch64-compiler-rt/Makefile similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/Makefile rename to vadl-test/resources/embench/aarch64-compiler-rt/Makefile diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/README.txt b/vadl-test/resources/embench/aarch64-compiler-rt/README.txt similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/README.txt rename to vadl-test/resources/embench/aarch64-compiler-rt/README.txt diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/absvdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/absvdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/absvdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/absvdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/absvsi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/absvsi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/absvsi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/absvsi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/absvti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/absvti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/absvti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/absvti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/adddf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/adddf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/adddf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/adddf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/addsf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/addsf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/addsf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/addsf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/addtf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/addtf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/addtf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/addtf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/addvdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/addvdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/addvdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/addvdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/addvsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/addvsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/addvsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/addvsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/addvti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/addvti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/addvti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/addvti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/apple_versioning.c b/vadl-test/resources/embench/aarch64-compiler-rt/apple_versioning.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/apple_versioning.c rename to vadl-test/resources/embench/aarch64-compiler-rt/apple_versioning.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ashldi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/ashldi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ashldi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ashldi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ashlti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/ashlti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ashlti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ashlti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ashrdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/ashrdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ashrdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ashrdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ashrti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/ashrti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ashrti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ashrti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/assembly.h b/vadl-test/resources/embench/aarch64-compiler-rt/assembly.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/assembly.h rename to vadl-test/resources/embench/aarch64-compiler-rt/assembly.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_clear.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_clear.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_clear.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_clear.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_clear_explicit.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_clear_explicit.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_clear_explicit.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_clear_explicit.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set_explicit.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set_explicit.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set_explicit.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic_flag_test_and_set_explicit.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic_signal_fence.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic_signal_fence.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic_signal_fence.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic_signal_fence.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/atomic_thread_fence.c b/vadl-test/resources/embench/aarch64-compiler-rt/atomic_thread_fence.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/atomic_thread_fence.c rename to vadl-test/resources/embench/aarch64-compiler-rt/atomic_thread_fence.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/bswapdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/bswapdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/bswapdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/bswapdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/bswapsi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/bswapsi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/bswapsi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/bswapsi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/clear_cache.c b/vadl-test/resources/embench/aarch64-compiler-rt/clear_cache.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/clear_cache.c rename to vadl-test/resources/embench/aarch64-compiler-rt/clear_cache.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/clzdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/clzdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/clzdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/clzdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/clzsi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/clzsi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/clzsi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/clzsi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/clzti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/clzti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/clzti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/clzti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/cmpdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/cmpdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/cmpdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/cmpdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/cmpti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/cmpti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/cmpti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/cmpti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/comparedf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/comparedf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/comparedf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/comparedf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/comparesf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/comparesf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/comparesf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/comparesf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/comparetf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/comparetf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/comparetf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/comparetf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/cpu_model.c b/vadl-test/resources/embench/aarch64-compiler-rt/cpu_model.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/cpu_model.c rename to vadl-test/resources/embench/aarch64-compiler-rt/cpu_model.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/crtbegin.c b/vadl-test/resources/embench/aarch64-compiler-rt/crtbegin.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/crtbegin.c rename to vadl-test/resources/embench/aarch64-compiler-rt/crtbegin.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/crtend.c b/vadl-test/resources/embench/aarch64-compiler-rt/crtend.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/crtend.c rename to vadl-test/resources/embench/aarch64-compiler-rt/crtend.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ctzdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ctzdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ctzdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ctzdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ctzsi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ctzsi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ctzsi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ctzsi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ctzti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ctzti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ctzti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ctzti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divdc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divdc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divdc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divdc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divdf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divdf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divdf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divdf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divmoddi4.c b/vadl-test/resources/embench/aarch64-compiler-rt/divmoddi4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divmoddi4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divmoddi4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divmodsi4.c b/vadl-test/resources/embench/aarch64-compiler-rt/divmodsi4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divmodsi4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divmodsi4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divmodti4.c b/vadl-test/resources/embench/aarch64-compiler-rt/divmodti4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divmodti4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divmodti4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divsc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divsc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divsc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divsc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divsf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divsf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divsf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divsf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divtc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divtc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divtc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divtc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divtf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divtf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divtf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divtf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/divxc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/divxc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/divxc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/divxc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/emutls.c b/vadl-test/resources/embench/aarch64-compiler-rt/emutls.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/emutls.c rename to vadl-test/resources/embench/aarch64-compiler-rt/emutls.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/enable_execute_stack.c b/vadl-test/resources/embench/aarch64-compiler-rt/enable_execute_stack.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/enable_execute_stack.c rename to vadl-test/resources/embench/aarch64-compiler-rt/enable_execute_stack.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/eprintf.c b/vadl-test/resources/embench/aarch64-compiler-rt/eprintf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/eprintf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/eprintf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/extenddftf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/extenddftf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/extenddftf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/extenddftf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/extendhfsf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/extendhfsf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/extendhfsf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/extendhfsf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/extendhftf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/extendhftf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/extendhftf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/extendhftf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/extendsfdf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/extendsfdf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/extendsfdf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/extendsfdf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/extendsftf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/extendsftf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/extendsftf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/extendsftf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/extendxftf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/extendxftf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/extendxftf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/extendxftf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ffsdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ffsdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ffsdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ffsdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ffssi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ffssi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ffssi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ffssi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ffsti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ffsti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ffsti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ffsti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixdfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixdfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixdfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixdfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixdfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixdfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixdfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixdfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixdfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixdfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixdfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixdfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixsfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixsfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixsfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixsfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixsfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixsfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixsfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixsfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixsfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixsfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixsfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixsfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixtfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixtfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixtfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixtfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixtfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixtfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixtfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixtfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixtfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixtfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixtfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixtfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunsdfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunsdfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunsdfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunsdfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunsdfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunsdfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunsdfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunsdfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunsdfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunsdfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunsdfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunsdfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunssfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunssfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunssfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunssfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunssfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunssfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunssfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunssfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunssfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunssfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunssfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunssfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunstfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunstfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunstfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunstfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunstfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunstfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunstfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunstfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunstfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunstfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunstfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunstfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunsxfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunsxfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunsxfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunsxfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunsxfsi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunsxfsi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunsxfsi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunsxfsi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixunsxfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixunsxfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixunsxfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixunsxfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixxfdi.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixxfdi.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixxfdi.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixxfdi.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fixxfti.c b/vadl-test/resources/embench/aarch64-compiler-rt/fixxfti.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fixxfti.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fixxfti.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatdidf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatdidf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatdidf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatdidf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatdisf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatdisf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatdisf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatdisf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatditf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatditf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatditf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatditf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatdixf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatdixf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatdixf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatdixf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatsidf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatsidf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatsidf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatsidf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatsisf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatsisf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatsisf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatsisf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatsitf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatsitf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatsitf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatsitf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floattidf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floattidf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floattidf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floattidf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floattisf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floattisf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floattisf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floattisf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floattitf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floattitf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floattitf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floattitf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floattixf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floattixf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floattixf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floattixf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatundidf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatundidf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatundidf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatundidf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatundisf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatundisf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatundisf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatundisf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatunditf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatunditf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatunditf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatunditf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatundixf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatundixf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatundixf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatundixf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatunsidf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatunsidf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatunsidf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatunsidf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatunsisf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatunsisf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatunsisf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatunsisf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatunsitf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatunsitf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatunsitf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatunsitf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatuntidf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatuntidf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatuntidf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatuntidf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatuntisf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatuntisf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatuntisf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatuntisf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatuntitf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatuntitf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatuntitf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatuntitf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/floatuntixf.c b/vadl-test/resources/embench/aarch64-compiler-rt/floatuntixf.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/floatuntixf.c rename to vadl-test/resources/embench/aarch64-compiler-rt/floatuntixf.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_add_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_add_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_add_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_add_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_compare_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_compare_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_compare_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_compare_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_div_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_div_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_div_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_div_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_extend.h b/vadl-test/resources/embench/aarch64-compiler-rt/fp_extend.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_extend.h rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_extend.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_extend_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_extend_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_extend_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_extend_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_fixint_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_fixint_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_fixint_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_fixint_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_fixuint_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_fixuint_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_fixuint_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_fixuint_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_lib.h b/vadl-test/resources/embench/aarch64-compiler-rt/fp_lib.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_lib.h rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_lib.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_mode.c b/vadl-test/resources/embench/aarch64-compiler-rt/fp_mode.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_mode.c rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_mode.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_mode.h b/vadl-test/resources/embench/aarch64-compiler-rt/fp_mode.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_mode.h rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_mode.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_mul_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_mul_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_mul_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_mul_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_trunc.h b/vadl-test/resources/embench/aarch64-compiler-rt/fp_trunc.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_trunc.h rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_trunc.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/fp_trunc_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/fp_trunc_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/fp_trunc_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/fp_trunc_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/gcc_personality_v0.c b/vadl-test/resources/embench/aarch64-compiler-rt/gcc_personality_v0.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/gcc_personality_v0.c rename to vadl-test/resources/embench/aarch64-compiler-rt/gcc_personality_v0.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_div_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/int_div_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_div_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/int_div_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_endianness.h b/vadl-test/resources/embench/aarch64-compiler-rt/int_endianness.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_endianness.h rename to vadl-test/resources/embench/aarch64-compiler-rt/int_endianness.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_lib.h b/vadl-test/resources/embench/aarch64-compiler-rt/int_lib.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_lib.h rename to vadl-test/resources/embench/aarch64-compiler-rt/int_lib.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_math.h b/vadl-test/resources/embench/aarch64-compiler-rt/int_math.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_math.h rename to vadl-test/resources/embench/aarch64-compiler-rt/int_math.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_mulo_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/int_mulo_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_mulo_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/int_mulo_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_mulv_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/int_mulv_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_mulv_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/int_mulv_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_to_fp.h b/vadl-test/resources/embench/aarch64-compiler-rt/int_to_fp.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_to_fp.h rename to vadl-test/resources/embench/aarch64-compiler-rt/int_to_fp.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_to_fp_impl.inc b/vadl-test/resources/embench/aarch64-compiler-rt/int_to_fp_impl.inc similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_to_fp_impl.inc rename to vadl-test/resources/embench/aarch64-compiler-rt/int_to_fp_impl.inc diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_types.h b/vadl-test/resources/embench/aarch64-compiler-rt/int_types.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_types.h rename to vadl-test/resources/embench/aarch64-compiler-rt/int_types.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_util.c b/vadl-test/resources/embench/aarch64-compiler-rt/int_util.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_util.c rename to vadl-test/resources/embench/aarch64-compiler-rt/int_util.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/int_util.h b/vadl-test/resources/embench/aarch64-compiler-rt/int_util.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/int_util.h rename to vadl-test/resources/embench/aarch64-compiler-rt/int_util.h diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/lshrdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/lshrdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/lshrdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/lshrdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/lshrti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/lshrti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/lshrti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/lshrti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/moddi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/moddi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/moddi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/moddi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/modsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/modsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/modsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/modsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/modti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/modti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/modti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/modti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/muldc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/muldc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/muldc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/muldc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/muldf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/muldf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/muldf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/muldf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/muldi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/muldi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/muldi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/muldi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulodi4.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulodi4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulodi4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulodi4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulosi4.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulosi4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulosi4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulosi4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/muloti4.c b/vadl-test/resources/embench/aarch64-compiler-rt/muloti4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/muloti4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/muloti4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulsc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulsc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulsc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulsc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulsf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulsf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulsf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulsf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/multc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/multc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/multc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/multc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/multf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/multf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/multf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/multf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/multi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/multi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/multi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/multi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulvdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulvdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulvdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulvdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulvsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulvsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulvsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulvsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulvti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulvti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulvti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulvti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/mulxc3.c b/vadl-test/resources/embench/aarch64-compiler-rt/mulxc3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/mulxc3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/mulxc3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negdf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negdf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negdf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negdf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negsf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negsf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negsf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negsf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negvdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negvdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negvdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negvdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negvsi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negvsi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negvsi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negvsi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/negvti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/negvti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/negvti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/negvti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/os_version_check.c b/vadl-test/resources/embench/aarch64-compiler-rt/os_version_check.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/os_version_check.c rename to vadl-test/resources/embench/aarch64-compiler-rt/os_version_check.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/paritydi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/paritydi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/paritydi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/paritydi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/paritysi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/paritysi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/paritysi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/paritysi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/parityti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/parityti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/parityti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/parityti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/popcountdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/popcountdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/popcountdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/popcountdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/popcountsi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/popcountsi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/popcountsi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/popcountsi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/popcountti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/popcountti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/popcountti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/popcountti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/powidf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/powidf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/powidf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/powidf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/powisf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/powisf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/powisf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/powisf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/powitf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/powitf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/powitf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/powitf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/powixf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/powixf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/powixf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/powixf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/subdf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/subdf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/subdf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/subdf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/subsf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/subsf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/subsf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/subsf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/subtf3.c b/vadl-test/resources/embench/aarch64-compiler-rt/subtf3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/subtf3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/subtf3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/subvdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/subvdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/subvdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/subvdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/subvsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/subvsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/subvsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/subvsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/subvti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/subvti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/subvti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/subvti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/trampoline_setup.c b/vadl-test/resources/embench/aarch64-compiler-rt/trampoline_setup.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/trampoline_setup.c rename to vadl-test/resources/embench/aarch64-compiler-rt/trampoline_setup.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/truncdfbf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/truncdfbf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/truncdfbf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/truncdfbf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/truncdfhf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/truncdfhf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/truncdfhf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/truncdfhf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/truncdfsf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/truncdfsf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/truncdfsf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/truncdfsf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/truncsfbf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/truncsfbf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/truncsfbf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/truncsfbf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/truncsfhf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/truncsfhf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/truncsfhf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/truncsfhf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/trunctfdf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/trunctfdf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/trunctfdf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/trunctfdf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/trunctfhf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/trunctfhf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/trunctfhf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/trunctfhf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/trunctfsf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/trunctfsf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/trunctfsf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/trunctfsf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/trunctfxf2.c b/vadl-test/resources/embench/aarch64-compiler-rt/trunctfxf2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/trunctfxf2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/trunctfxf2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ucmpdi2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ucmpdi2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ucmpdi2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ucmpdi2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/ucmpti2.c b/vadl-test/resources/embench/aarch64-compiler-rt/ucmpti2.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/ucmpti2.c rename to vadl-test/resources/embench/aarch64-compiler-rt/ucmpti2.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/udivdi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/udivdi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/udivdi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/udivdi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/udivmoddi4.c b/vadl-test/resources/embench/aarch64-compiler-rt/udivmoddi4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/udivmoddi4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/udivmoddi4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/udivmodsi4.c b/vadl-test/resources/embench/aarch64-compiler-rt/udivmodsi4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/udivmodsi4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/udivmodsi4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/udivmodti4.c b/vadl-test/resources/embench/aarch64-compiler-rt/udivmodti4.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/udivmodti4.c rename to vadl-test/resources/embench/aarch64-compiler-rt/udivmodti4.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/udivsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/udivsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/udivsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/udivsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/udivti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/udivti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/udivti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/udivti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/umoddi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/umoddi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/umoddi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/umoddi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/umodsi3.c b/vadl-test/resources/embench/aarch64-compiler-rt/umodsi3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/umodsi3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/umodsi3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/umodti3.c b/vadl-test/resources/embench/aarch64-compiler-rt/umodti3.c similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/umodti3.c rename to vadl-test/resources/embench/aarch64-compiler-rt/umodti3.c diff --git a/vadl/test/resources/embench/aarch64-compiler-rt/unwind-ehabi-helpers.h b/vadl-test/resources/embench/aarch64-compiler-rt/unwind-ehabi-helpers.h similarity index 100% rename from vadl/test/resources/embench/aarch64-compiler-rt/unwind-ehabi-helpers.h rename to vadl-test/resources/embench/aarch64-compiler-rt/unwind-ehabi-helpers.h diff --git a/vadl/test/resources/embench/baseline-data/size.json b/vadl-test/resources/embench/baseline-data/size.json similarity index 100% rename from vadl/test/resources/embench/baseline-data/size.json rename to vadl-test/resources/embench/baseline-data/size.json diff --git a/vadl/test/resources/embench/baseline-data/speed.json b/vadl-test/resources/embench/baseline-data/speed.json similarity index 100% rename from vadl/test/resources/embench/baseline-data/speed.json rename to vadl-test/resources/embench/baseline-data/speed.json diff --git a/vadl/test/resources/embench/benchmark-extras/.gitignore b/vadl-test/resources/embench/benchmark-extras/.gitignore similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/.gitignore rename to vadl-test/resources/embench/benchmark-extras/.gitignore diff --git a/vadl/test/resources/embench/benchmark-extras/compute-startup.py b/vadl-test/resources/embench/benchmark-extras/compute-startup.py similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/compute-startup.py rename to vadl-test/resources/embench/benchmark-extras/compute-startup.py diff --git a/vadl/test/resources/embench/benchmark-extras/data-eval.py b/vadl-test/resources/embench/benchmark-extras/data-eval.py similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/data-eval.py rename to vadl-test/resources/embench/benchmark-extras/data-eval.py diff --git a/vadl/test/resources/embench/benchmark-extras/data-relative.py b/vadl-test/resources/embench/benchmark-extras/data-relative.py similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/data-relative.py rename to vadl-test/resources/embench/benchmark-extras/data-relative.py diff --git a/vadl/test/resources/embench/benchmark-extras/push-results.sh b/vadl-test/resources/embench/benchmark-extras/push-results.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/push-results.sh rename to vadl-test/resources/embench/benchmark-extras/push-results.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-benchmark.sh b/vadl-test/resources/embench/benchmark-extras/run-benchmark.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-benchmark.sh rename to vadl-test/resources/embench/benchmark-extras/run-benchmark.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-benchmarks-aarch64.sh b/vadl-test/resources/embench/benchmark-extras/run-benchmarks-aarch64.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-benchmarks-aarch64.sh rename to vadl-test/resources/embench/benchmark-extras/run-benchmarks-aarch64.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv32-lcb-clang.sh b/vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv32-lcb-clang.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv32-lcb-clang.sh rename to vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv32-lcb-clang.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv32.sh b/vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv32.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv32.sh rename to vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv32.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv64i.sh b/vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv64i.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv64i.sh rename to vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv64i.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv64im.sh b/vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv64im.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-benchmarks-rv64im.sh rename to vadl-test/resources/embench/benchmark-extras/run-benchmarks-rv64im.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-rv32-benchmarks-spike-clang-upstream-O3.sh b/vadl-test/resources/embench/benchmark-extras/run-rv32-benchmarks-spike-clang-upstream-O3.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-rv32-benchmarks-spike-clang-upstream-O3.sh rename to vadl-test/resources/embench/benchmark-extras/run-rv32-benchmarks-spike-clang-upstream-O3.sh diff --git a/vadl/test/resources/embench/benchmark-extras/run-rv64-benchmarks-spike-clang-upstream-O3.sh b/vadl-test/resources/embench/benchmark-extras/run-rv64-benchmarks-spike-clang-upstream-O3.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/run-rv64-benchmarks-spike-clang-upstream-O3.sh rename to vadl-test/resources/embench/benchmark-extras/run-rv64-benchmarks-spike-clang-upstream-O3.sh diff --git a/vadl/test/resources/embench/benchmark-extras/rv32-get-number-executed-instructions-spike-clang-lcb.sh b/vadl-test/resources/embench/benchmark-extras/rv32-get-number-executed-instructions-spike-clang-lcb.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/rv32-get-number-executed-instructions-spike-clang-lcb.sh rename to vadl-test/resources/embench/benchmark-extras/rv32-get-number-executed-instructions-spike-clang-lcb.sh diff --git a/vadl/test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O0.sh b/vadl-test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O0.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O0.sh rename to vadl-test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O0.sh diff --git a/vadl/test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O3.sh b/vadl-test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O3.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O3.sh rename to vadl-test/resources/embench/benchmark-extras/rv32-run-benchmarks-spike-clang-lcb-O3.sh diff --git a/vadl/test/resources/embench/benchmark-extras/rv64-get-number-executed-instructions-spike-clang-lcb.sh b/vadl-test/resources/embench/benchmark-extras/rv64-get-number-executed-instructions-spike-clang-lcb.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/rv64-get-number-executed-instructions-spike-clang-lcb.sh rename to vadl-test/resources/embench/benchmark-extras/rv64-get-number-executed-instructions-spike-clang-lcb.sh diff --git a/vadl/test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O0.sh b/vadl-test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O0.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O0.sh rename to vadl-test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O0.sh diff --git a/vadl/test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O3.sh b/vadl-test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O3.sh similarity index 100% rename from vadl/test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O3.sh rename to vadl-test/resources/embench/benchmark-extras/rv64-run-benchmarks-spike-clang-lcb-O3.sh diff --git a/vadl/test/resources/embench/benchmark_gem5.sh b/vadl-test/resources/embench/benchmark_gem5.sh similarity index 100% rename from vadl/test/resources/embench/benchmark_gem5.sh rename to vadl-test/resources/embench/benchmark_gem5.sh diff --git a/vadl/test/resources/embench/benchmark_qemu.sh b/vadl-test/resources/embench/benchmark_qemu.sh similarity index 100% rename from vadl/test/resources/embench/benchmark_qemu.sh rename to vadl-test/resources/embench/benchmark_qemu.sh diff --git a/vadl/test/resources/embench/benchmark_size.py b/vadl-test/resources/embench/benchmark_size.py similarity index 100% rename from vadl/test/resources/embench/benchmark_size.py rename to vadl-test/resources/embench/benchmark_size.py diff --git a/vadl/test/resources/embench/benchmark_speed.py b/vadl-test/resources/embench/benchmark_speed.py similarity index 100% rename from vadl/test/resources/embench/benchmark_speed.py rename to vadl-test/resources/embench/benchmark_speed.py diff --git a/vadl/test/resources/embench/benchmark_spike.sh b/vadl-test/resources/embench/benchmark_spike.sh similarity index 100% rename from vadl/test/resources/embench/benchmark_spike.sh rename to vadl-test/resources/embench/benchmark_spike.sh diff --git a/vadl/test/resources/embench/benchmark_spike_rv64gc.sh b/vadl-test/resources/embench/benchmark_spike_rv64gc.sh similarity index 100% rename from vadl/test/resources/embench/benchmark_spike_rv64gc.sh rename to vadl-test/resources/embench/benchmark_spike_rv64gc.sh diff --git a/vadl/test/resources/embench/benchmark_vadl.sh b/vadl-test/resources/embench/benchmark_vadl.sh similarity index 100% rename from vadl/test/resources/embench/benchmark_vadl.sh rename to vadl-test/resources/embench/benchmark_vadl.sh diff --git a/vadl/test/resources/embench/benchmark_vadl_cycles.sh b/vadl-test/resources/embench/benchmark_vadl_cycles.sh similarity index 100% rename from vadl/test/resources/embench/benchmark_vadl_cycles.sh rename to vadl-test/resources/embench/benchmark_vadl_cycles.sh diff --git a/vadl/test/resources/embench/build_aarch64.sh b/vadl-test/resources/embench/build_aarch64.sh similarity index 100% rename from vadl/test/resources/embench/build_aarch64.sh rename to vadl-test/resources/embench/build_aarch64.sh diff --git a/vadl/test/resources/embench/build_all.py b/vadl-test/resources/embench/build_all.py similarity index 100% rename from vadl/test/resources/embench/build_all.py rename to vadl-test/resources/embench/build_all.py diff --git a/vadl/test/resources/embench/build_lcb_docker.sh b/vadl-test/resources/embench/build_lcb_docker.sh similarity index 100% rename from vadl/test/resources/embench/build_lcb_docker.sh rename to vadl-test/resources/embench/build_lcb_docker.sh diff --git a/vadl/test/resources/embench/build_rv32.sh b/vadl-test/resources/embench/build_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_rv32.sh rename to vadl-test/resources/embench/build_rv32.sh diff --git a/vadl/test/resources/embench/build_rv32ima.sh b/vadl-test/resources/embench/build_rv32ima.sh similarity index 100% rename from vadl/test/resources/embench/build_rv32ima.sh rename to vadl-test/resources/embench/build_rv32ima.sh diff --git a/vadl/test/resources/embench/build_spike-clang-O0_rv32.sh b/vadl-test/resources/embench/build_spike-clang-O0_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-clang-O0_rv32.sh rename to vadl-test/resources/embench/build_spike-clang-O0_rv32.sh diff --git a/vadl/test/resources/embench/build_spike-clang-O0_rv64.sh b/vadl-test/resources/embench/build_spike-clang-O0_rv64.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-clang-O0_rv64.sh rename to vadl-test/resources/embench/build_spike-clang-O0_rv64.sh diff --git a/vadl/test/resources/embench/build_spike-clang-O3_rv32.sh b/vadl-test/resources/embench/build_spike-clang-O3_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-clang-O3_rv32.sh rename to vadl-test/resources/embench/build_spike-clang-O3_rv32.sh diff --git a/vadl/test/resources/embench/build_spike-clang-O3_rv64.sh b/vadl-test/resources/embench/build_spike-clang-O3_rv64.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-clang-O3_rv64.sh rename to vadl-test/resources/embench/build_spike-clang-O3_rv64.sh diff --git a/vadl/test/resources/embench/build_spike-lcb-O0_rv32.sh b/vadl-test/resources/embench/build_spike-lcb-O0_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-lcb-O0_rv32.sh rename to vadl-test/resources/embench/build_spike-lcb-O0_rv32.sh diff --git a/vadl/test/resources/embench/build_spike-lcb-O0_rv64.sh b/vadl-test/resources/embench/build_spike-lcb-O0_rv64.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-lcb-O0_rv64.sh rename to vadl-test/resources/embench/build_spike-lcb-O0_rv64.sh diff --git a/vadl/test/resources/embench/build_spike-lcb-O3_rv32.sh b/vadl-test/resources/embench/build_spike-lcb-O3_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-lcb-O3_rv32.sh rename to vadl-test/resources/embench/build_spike-lcb-O3_rv32.sh diff --git a/vadl/test/resources/embench/build_spike-lcb-O3_rv64.sh b/vadl-test/resources/embench/build_spike-lcb-O3_rv64.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-lcb-O3_rv64.sh rename to vadl-test/resources/embench/build_spike-lcb-O3_rv64.sh diff --git a/vadl/test/resources/embench/build_spike-rv32im.sh b/vadl-test/resources/embench/build_spike-rv32im.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-rv32im.sh rename to vadl-test/resources/embench/build_spike-rv32im.sh diff --git a/vadl/test/resources/embench/build_spike-rv64i.sh b/vadl-test/resources/embench/build_spike-rv64i.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-rv64i.sh rename to vadl-test/resources/embench/build_spike-rv64i.sh diff --git a/vadl/test/resources/embench/build_spike-rv64im.sh b/vadl-test/resources/embench/build_spike-rv64im.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-rv64im.sh rename to vadl-test/resources/embench/build_spike-rv64im.sh diff --git a/vadl/test/resources/embench/build_spike-vm.sh b/vadl-test/resources/embench/build_spike-vm.sh similarity index 100% rename from vadl/test/resources/embench/build_spike-vm.sh rename to vadl-test/resources/embench/build_spike-vm.sh diff --git a/vadl/test/resources/embench/build_spike.sh b/vadl-test/resources/embench/build_spike.sh similarity index 100% rename from vadl/test/resources/embench/build_spike.sh rename to vadl-test/resources/embench/build_spike.sh diff --git a/vadl/test/resources/embench/build_vadl-clang_rv32.sh b/vadl-test/resources/embench/build_vadl-clang_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl-clang_rv32.sh rename to vadl-test/resources/embench/build_vadl-clang_rv32.sh diff --git a/vadl/test/resources/embench/build_vadl-lcb_rv32.sh b/vadl-test/resources/embench/build_vadl-lcb_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl-lcb_rv32.sh rename to vadl-test/resources/embench/build_vadl-lcb_rv32.sh diff --git a/vadl/test/resources/embench/build_vadl-rv64im.sh b/vadl-test/resources/embench/build_vadl-rv64im.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl-rv64im.sh rename to vadl-test/resources/embench/build_vadl-rv64im.sh diff --git a/vadl/test/resources/embench/build_vadl_rv32.sh b/vadl-test/resources/embench/build_vadl_rv32.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl_rv32.sh rename to vadl-test/resources/embench/build_vadl_rv32.sh diff --git a/vadl/test/resources/embench/build_vadl_rv32_vm.sh b/vadl-test/resources/embench/build_vadl_rv32_vm.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl_rv32_vm.sh rename to vadl-test/resources/embench/build_vadl_rv32_vm.sh diff --git a/vadl/test/resources/embench/build_vadl_sims.sh b/vadl-test/resources/embench/build_vadl_sims.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl_sims.sh rename to vadl-test/resources/embench/build_vadl_sims.sh diff --git a/vadl/test/resources/embench/build_vadl_sims_docker.sh b/vadl-test/resources/embench/build_vadl_sims_docker.sh similarity index 100% rename from vadl/test/resources/embench/build_vadl_sims_docker.sh rename to vadl-test/resources/embench/build_vadl_sims_docker.sh diff --git a/vadl/test/resources/embench/build_virt-iss-a64.sh b/vadl-test/resources/embench/build_virt-iss-a64.sh similarity index 100% rename from vadl/test/resources/embench/build_virt-iss-a64.sh rename to vadl-test/resources/embench/build_virt-iss-a64.sh diff --git a/vadl/test/resources/embench/ci.mk b/vadl-test/resources/embench/ci.mk similarity index 100% rename from vadl/test/resources/embench/ci.mk rename to vadl-test/resources/embench/ci.mk diff --git a/vadl/test/resources/embench/config/aarch64/arch.cfg b/vadl-test/resources/embench/config/aarch64/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/aarch64/arch.cfg rename to vadl-test/resources/embench/config/aarch64/arch.cfg diff --git a/vadl/test/resources/embench/config/aarch64/boards/virt-iss/board.cfg b/vadl-test/resources/embench/config/aarch64/boards/virt-iss/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/aarch64/boards/virt-iss/board.cfg rename to vadl-test/resources/embench/config/aarch64/boards/virt-iss/board.cfg diff --git a/vadl/test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.c b/vadl-test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.c rename to vadl-test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.c diff --git a/vadl/test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.h b/vadl-test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.h rename to vadl-test/resources/embench/config/aarch64/boards/virt-iss/boardsupport.h diff --git a/vadl/test/resources/embench/config/aarch64/boards/virt-iss/init.S b/vadl-test/resources/embench/config/aarch64/boards/virt-iss/init.S similarity index 100% rename from vadl/test/resources/embench/config/aarch64/boards/virt-iss/init.S rename to vadl-test/resources/embench/config/aarch64/boards/virt-iss/init.S diff --git a/vadl/test/resources/embench/config/aarch64/boards/virt-iss/link.ld b/vadl-test/resources/embench/config/aarch64/boards/virt-iss/link.ld similarity index 100% rename from vadl/test/resources/embench/config/aarch64/boards/virt-iss/link.ld rename to vadl-test/resources/embench/config/aarch64/boards/virt-iss/link.ld diff --git a/vadl/test/resources/embench/config/aarch64/chips/generic/chip.cfg b/vadl-test/resources/embench/config/aarch64/chips/generic/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/aarch64/chips/generic/chip.cfg rename to vadl-test/resources/embench/config/aarch64/chips/generic/chip.cfg diff --git a/vadl/test/resources/embench/config/aarch64/chips/generic/chipsupport.c b/vadl-test/resources/embench/config/aarch64/chips/generic/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/aarch64/chips/generic/chipsupport.c rename to vadl-test/resources/embench/config/aarch64/chips/generic/chipsupport.c diff --git a/vadl/test/resources/embench/config/aarch64/chips/generic/chipsupport.h b/vadl-test/resources/embench/config/aarch64/chips/generic/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/aarch64/chips/generic/chipsupport.h rename to vadl-test/resources/embench/config/aarch64/chips/generic/chipsupport.h diff --git a/vadl/test/resources/embench/config/arc/arch.cfg b/vadl-test/resources/embench/config/arc/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/arc/arch.cfg rename to vadl-test/resources/embench/config/arc/arch.cfg diff --git a/vadl/test/resources/embench/config/arc/boards/generic/board.cfg b/vadl-test/resources/embench/config/arc/boards/generic/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/arc/boards/generic/board.cfg rename to vadl-test/resources/embench/config/arc/boards/generic/board.cfg diff --git a/vadl/test/resources/embench/config/arc/boards/generic/boardsupport.c b/vadl-test/resources/embench/config/arc/boards/generic/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/arc/boards/generic/boardsupport.c rename to vadl-test/resources/embench/config/arc/boards/generic/boardsupport.c diff --git a/vadl/test/resources/embench/config/arc/boards/generic/boardsupport.h b/vadl-test/resources/embench/config/arc/boards/generic/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/arc/boards/generic/boardsupport.h rename to vadl-test/resources/embench/config/arc/boards/generic/boardsupport.h diff --git a/vadl/test/resources/embench/config/arc/chips/em/chip.cfg b/vadl-test/resources/embench/config/arc/chips/em/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/arc/chips/em/chip.cfg rename to vadl-test/resources/embench/config/arc/chips/em/chip.cfg diff --git a/vadl/test/resources/embench/config/arc/chips/em/chipsupport.c b/vadl-test/resources/embench/config/arc/chips/em/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/arc/chips/em/chipsupport.c rename to vadl-test/resources/embench/config/arc/chips/em/chipsupport.c diff --git a/vadl/test/resources/embench/config/arc/chips/em/chipsupport.h b/vadl-test/resources/embench/config/arc/chips/em/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/arc/chips/em/chipsupport.h rename to vadl-test/resources/embench/config/arc/chips/em/chipsupport.h diff --git a/vadl/test/resources/embench/config/arm/arch.cfg b/vadl-test/resources/embench/config/arm/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/arm/arch.cfg rename to vadl-test/resources/embench/config/arm/arch.cfg diff --git a/vadl/test/resources/embench/config/arm/boards/generic/board.cfg b/vadl-test/resources/embench/config/arm/boards/generic/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/generic/board.cfg rename to vadl-test/resources/embench/config/arm/boards/generic/board.cfg diff --git a/vadl/test/resources/embench/config/arm/boards/generic/boardsupport.c b/vadl-test/resources/embench/config/arm/boards/generic/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/generic/boardsupport.c rename to vadl-test/resources/embench/config/arm/boards/generic/boardsupport.c diff --git a/vadl/test/resources/embench/config/arm/boards/generic/boardsupport.h b/vadl-test/resources/embench/config/arm/boards/generic/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/generic/boardsupport.h rename to vadl-test/resources/embench/config/arm/boards/generic/boardsupport.h diff --git a/vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/STM32F407XG.ld b/vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/STM32F407XG.ld similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/STM32F407XG.ld rename to vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/STM32F407XG.ld diff --git a/vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/board.cfg b/vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/board.cfg rename to vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/board.cfg diff --git a/vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.c b/vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.c rename to vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.c diff --git a/vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.h b/vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.h rename to vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/boardsupport.h diff --git a/vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/startup_stm32f407xx.S b/vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/startup_stm32f407xx.S similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/stm32f4-discovery/startup_stm32f407xx.S rename to vadl-test/resources/embench/config/arm/boards/stm32f4-discovery/startup_stm32f407xx.S diff --git a/vadl/test/resources/embench/config/arm/boards/vadl/board.cfg b/vadl-test/resources/embench/config/arm/boards/vadl/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/vadl/board.cfg rename to vadl-test/resources/embench/config/arm/boards/vadl/board.cfg diff --git a/vadl/test/resources/embench/config/arm/boards/vadl/boardsupport.c b/vadl-test/resources/embench/config/arm/boards/vadl/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/vadl/boardsupport.c rename to vadl-test/resources/embench/config/arm/boards/vadl/boardsupport.c diff --git a/vadl/test/resources/embench/config/arm/boards/vadl/boardsupport.h b/vadl-test/resources/embench/config/arm/boards/vadl/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/vadl/boardsupport.h rename to vadl-test/resources/embench/config/arm/boards/vadl/boardsupport.h diff --git a/vadl/test/resources/embench/config/arm/boards/vadl/init.s b/vadl-test/resources/embench/config/arm/boards/vadl/init.s similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/vadl/init.s rename to vadl-test/resources/embench/config/arm/boards/vadl/init.s diff --git a/vadl/test/resources/embench/config/arm/boards/vadl/link.ld b/vadl-test/resources/embench/config/arm/boards/vadl/link.ld similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/vadl/link.ld rename to vadl-test/resources/embench/config/arm/boards/vadl/link.ld diff --git a/vadl/test/resources/embench/config/arm/boards/vadl/stop.S b/vadl-test/resources/embench/config/arm/boards/vadl/stop.S similarity index 100% rename from vadl/test/resources/embench/config/arm/boards/vadl/stop.S rename to vadl-test/resources/embench/config/arm/boards/vadl/stop.S diff --git a/vadl/test/resources/embench/config/arm/chips/cortex-m4/chip.cfg b/vadl-test/resources/embench/config/arm/chips/cortex-m4/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/arm/chips/cortex-m4/chip.cfg rename to vadl-test/resources/embench/config/arm/chips/cortex-m4/chip.cfg diff --git a/vadl/test/resources/embench/config/arm/chips/cortex-m4/chipsupport.c b/vadl-test/resources/embench/config/arm/chips/cortex-m4/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/arm/chips/cortex-m4/chipsupport.c rename to vadl-test/resources/embench/config/arm/chips/cortex-m4/chipsupport.c diff --git a/vadl/test/resources/embench/config/arm/chips/cortex-m4/chipsupport.h b/vadl-test/resources/embench/config/arm/chips/cortex-m4/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/arm/chips/cortex-m4/chipsupport.h rename to vadl-test/resources/embench/config/arm/chips/cortex-m4/chipsupport.h diff --git a/vadl/test/resources/embench/config/avr/arch.cfg b/vadl-test/resources/embench/config/avr/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/avr/arch.cfg rename to vadl-test/resources/embench/config/avr/arch.cfg diff --git a/vadl/test/resources/embench/config/avr/boards/generic/board.cfg b/vadl-test/resources/embench/config/avr/boards/generic/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/avr/boards/generic/board.cfg rename to vadl-test/resources/embench/config/avr/boards/generic/board.cfg diff --git a/vadl/test/resources/embench/config/avr/boards/generic/boardsupport.c b/vadl-test/resources/embench/config/avr/boards/generic/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/avr/boards/generic/boardsupport.c rename to vadl-test/resources/embench/config/avr/boards/generic/boardsupport.c diff --git a/vadl/test/resources/embench/config/avr/boards/generic/boardsupport.h b/vadl-test/resources/embench/config/avr/boards/generic/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/avr/boards/generic/boardsupport.h rename to vadl-test/resources/embench/config/avr/boards/generic/boardsupport.h diff --git a/vadl/test/resources/embench/config/avr/chips/atmega64/chip.cfg b/vadl-test/resources/embench/config/avr/chips/atmega64/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/avr/chips/atmega64/chip.cfg rename to vadl-test/resources/embench/config/avr/chips/atmega64/chip.cfg diff --git a/vadl/test/resources/embench/config/avr/chips/atmega64/chipsupport.c b/vadl-test/resources/embench/config/avr/chips/atmega64/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/avr/chips/atmega64/chipsupport.c rename to vadl-test/resources/embench/config/avr/chips/atmega64/chipsupport.c diff --git a/vadl/test/resources/embench/config/avr/chips/atmega64/chipsupport.h b/vadl-test/resources/embench/config/avr/chips/atmega64/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/avr/chips/atmega64/chipsupport.h rename to vadl-test/resources/embench/config/avr/chips/atmega64/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/README.md b/vadl-test/resources/embench/config/mac/README.md similarity index 100% rename from vadl/test/resources/embench/config/mac/README.md rename to vadl-test/resources/embench/config/mac/README.md diff --git a/vadl/test/resources/embench/config/mac/arch.cfg b/vadl-test/resources/embench/config/mac/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/arch.cfg rename to vadl-test/resources/embench/config/mac/arch.cfg diff --git a/vadl/test/resources/embench/config/mac/boards/generic/board.cfg b/vadl-test/resources/embench/config/mac/boards/generic/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/boards/generic/board.cfg rename to vadl-test/resources/embench/config/mac/boards/generic/board.cfg diff --git a/vadl/test/resources/embench/config/mac/boards/generic/boardsupport.c b/vadl-test/resources/embench/config/mac/boards/generic/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/boards/generic/boardsupport.c rename to vadl-test/resources/embench/config/mac/boards/generic/boardsupport.c diff --git a/vadl/test/resources/embench/config/mac/boards/generic/boardsupport.h b/vadl-test/resources/embench/config/mac/boards/generic/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/boards/generic/boardsupport.h rename to vadl-test/resources/embench/config/mac/boards/generic/boardsupport.h diff --git a/vadl/test/resources/embench/config/mac/boards/size/board.cfg b/vadl-test/resources/embench/config/mac/boards/size/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/boards/size/board.cfg rename to vadl-test/resources/embench/config/mac/boards/size/board.cfg diff --git a/vadl/test/resources/embench/config/mac/boards/size/boardsupport.c b/vadl-test/resources/embench/config/mac/boards/size/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/boards/size/boardsupport.c rename to vadl-test/resources/embench/config/mac/boards/size/boardsupport.c diff --git a/vadl/test/resources/embench/config/mac/boards/size/boardsupport.h b/vadl-test/resources/embench/config/mac/boards/size/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/boards/size/boardsupport.h rename to vadl-test/resources/embench/config/mac/boards/size/boardsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/generic/chip.cfg b/vadl-test/resources/embench/config/mac/chips/generic/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/generic/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/generic/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/generic/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/generic/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/generic/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/generic/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/generic/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/generic/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/generic/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/generic/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chip.cfg b/vadl-test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/size-test-clang-ARM-M1/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang-X86-64/chip.cfg b/vadl-test/resources/embench/config/mac/chips/size-test-clang-X86-64/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang-X86-64/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/size-test-clang-X86-64/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/size-test-clang-X86-64/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang/chip.cfg b/vadl-test/resources/embench/config/mac/chips/size-test-clang/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/size-test-clang/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/size-test-clang/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/size-test-clang/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/size-test-clang/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/size-test-clang/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/size-test-clang/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/size-test-clang/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chip.cfg b/vadl-test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang-ARM-M1/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chip.cfg b/vadl-test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang-X86-64/chipsupport.h diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang/chip.cfg b/vadl-test/resources/embench/config/mac/chips/speed-test-clang/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang/chip.cfg rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang/chip.cfg diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.c b/vadl-test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.c rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.c diff --git a/vadl/test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.h b/vadl-test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.h rename to vadl-test/resources/embench/config/mac/chips/speed-test-clang/chipsupport.h diff --git a/vadl/test/resources/embench/config/native/arch.cfg b/vadl-test/resources/embench/config/native/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/arch.cfg rename to vadl-test/resources/embench/config/native/arch.cfg diff --git a/vadl/test/resources/embench/config/native/boards/default/board.cfg b/vadl-test/resources/embench/config/native/boards/default/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/boards/default/board.cfg rename to vadl-test/resources/embench/config/native/boards/default/board.cfg diff --git a/vadl/test/resources/embench/config/native/boards/default/boardsupport.c b/vadl-test/resources/embench/config/native/boards/default/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/native/boards/default/boardsupport.c rename to vadl-test/resources/embench/config/native/boards/default/boardsupport.c diff --git a/vadl/test/resources/embench/config/native/boards/default/boardsupport.h b/vadl-test/resources/embench/config/native/boards/default/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/native/boards/default/boardsupport.h rename to vadl-test/resources/embench/config/native/boards/default/boardsupport.h diff --git a/vadl/test/resources/embench/config/native/boards/static/board.cfg b/vadl-test/resources/embench/config/native/boards/static/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/boards/static/board.cfg rename to vadl-test/resources/embench/config/native/boards/static/board.cfg diff --git a/vadl/test/resources/embench/config/native/boards/static/boardsupport.c b/vadl-test/resources/embench/config/native/boards/static/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/native/boards/static/boardsupport.c rename to vadl-test/resources/embench/config/native/boards/static/boardsupport.c diff --git a/vadl/test/resources/embench/config/native/boards/static/boardsupport.h b/vadl-test/resources/embench/config/native/boards/static/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/native/boards/static/boardsupport.h rename to vadl-test/resources/embench/config/native/boards/static/boardsupport.h diff --git a/vadl/test/resources/embench/config/native/chips/debug-gcc/chip.cfg b/vadl-test/resources/embench/config/native/chips/debug-gcc/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/chips/debug-gcc/chip.cfg rename to vadl-test/resources/embench/config/native/chips/debug-gcc/chip.cfg diff --git a/vadl/test/resources/embench/config/native/chips/debug-gcc/chipsupport.c b/vadl-test/resources/embench/config/native/chips/debug-gcc/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/native/chips/debug-gcc/chipsupport.c rename to vadl-test/resources/embench/config/native/chips/debug-gcc/chipsupport.c diff --git a/vadl/test/resources/embench/config/native/chips/debug-gcc/chipsupport.h b/vadl-test/resources/embench/config/native/chips/debug-gcc/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/native/chips/debug-gcc/chipsupport.h rename to vadl-test/resources/embench/config/native/chips/debug-gcc/chipsupport.h diff --git a/vadl/test/resources/embench/config/native/chips/default/chip.cfg b/vadl-test/resources/embench/config/native/chips/default/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/chips/default/chip.cfg rename to vadl-test/resources/embench/config/native/chips/default/chip.cfg diff --git a/vadl/test/resources/embench/config/native/chips/default/chipsupport.c b/vadl-test/resources/embench/config/native/chips/default/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/native/chips/default/chipsupport.c rename to vadl-test/resources/embench/config/native/chips/default/chipsupport.c diff --git a/vadl/test/resources/embench/config/native/chips/default/chipsupport.h b/vadl-test/resources/embench/config/native/chips/default/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/native/chips/default/chipsupport.h rename to vadl-test/resources/embench/config/native/chips/default/chipsupport.h diff --git a/vadl/test/resources/embench/config/native/chips/size-test-gcc/chip.cfg b/vadl-test/resources/embench/config/native/chips/size-test-gcc/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/chips/size-test-gcc/chip.cfg rename to vadl-test/resources/embench/config/native/chips/size-test-gcc/chip.cfg diff --git a/vadl/test/resources/embench/config/native/chips/size-test-gcc/chipsupport.c b/vadl-test/resources/embench/config/native/chips/size-test-gcc/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/native/chips/size-test-gcc/chipsupport.c rename to vadl-test/resources/embench/config/native/chips/size-test-gcc/chipsupport.c diff --git a/vadl/test/resources/embench/config/native/chips/size-test-gcc/chipsupport.h b/vadl-test/resources/embench/config/native/chips/size-test-gcc/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/native/chips/size-test-gcc/chipsupport.h rename to vadl-test/resources/embench/config/native/chips/size-test-gcc/chipsupport.h diff --git a/vadl/test/resources/embench/config/native/chips/speed-test-gcc/chip.cfg b/vadl-test/resources/embench/config/native/chips/speed-test-gcc/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/native/chips/speed-test-gcc/chip.cfg rename to vadl-test/resources/embench/config/native/chips/speed-test-gcc/chip.cfg diff --git a/vadl/test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.c b/vadl-test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.c rename to vadl-test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.c diff --git a/vadl/test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.h b/vadl-test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.h rename to vadl-test/resources/embench/config/native/chips/speed-test-gcc/chipsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/arch.cfg b/vadl-test/resources/embench/config/riscv32/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/arch.cfg rename to vadl-test/resources/embench/config/riscv32/arch.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/ri5cyverilator/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/ri5cyverilator/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/ri5cyverilator/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/ri5cyverilator/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/ri5cyverilator/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/link.ld b/vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/crt0.S b/vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/crt0.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/crt0.S rename to vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/crt0.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/dummy.S b/vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/dummy.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/dummy.S rename to vadl-test/resources/embench/config/riscv32/boards/rv32wallyverilog/startup/dummy.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/init.S b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/init.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/link.ld b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O0/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O0/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/init.S b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/init.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/link.ld b/vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-clang-O3/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/spike-clang-O3/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/init.S b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/init.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/link.ld b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O0/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O0/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/init.S b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/init.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/link.ld b/vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-lcb-O3/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/spike-lcb-O3/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/common.h b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/common.h rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/common.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/init.S b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/init.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/link.ld b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/trap.S b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/trap.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/trap.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike-vm/vars.spike.S b/vadl-test/resources/embench/config/riscv32/boards/spike-vm/vars.spike.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike-vm/vars.spike.S rename to vadl-test/resources/embench/config/riscv32/boards/spike-vm/vars.spike.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/spike/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/spike/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/spike/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/spike/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/spike/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/spike/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike/common.h b/vadl-test/resources/embench/config/riscv32/boards/spike/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike/common.h rename to vadl-test/resources/embench/config/riscv32/boards/spike/common.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike/init.S b/vadl-test/resources/embench/config/riscv32/boards/spike/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike/init.S rename to vadl-test/resources/embench/config/riscv32/boards/spike/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/spike/link.ld b/vadl-test/resources/embench/config/riscv32/boards/spike/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/spike/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/spike/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-clang/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/vadl-clang/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-clang/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/vadl-clang/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-lcb/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/vadl-lcb/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-lcb/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/vadl-lcb/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/init.S b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/init.S rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/link.ld b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/setup-table.S b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/setup-table.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/setup-table.S rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/setup-table.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl-vm/trap.S b/vadl-test/resources/embench/config/riscv32/boards/vadl-vm/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl-vm/trap.S rename to vadl-test/resources/embench/config/riscv32/boards/vadl-vm/trap.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl/board.cfg b/vadl-test/resources/embench/config/riscv32/boards/vadl/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl/board.cfg rename to vadl-test/resources/embench/config/riscv32/boards/vadl/board.cfg diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl/boardsupport.c b/vadl-test/resources/embench/config/riscv32/boards/vadl/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl/boardsupport.c rename to vadl-test/resources/embench/config/riscv32/boards/vadl/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl/boardsupport.h b/vadl-test/resources/embench/config/riscv32/boards/vadl/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl/boardsupport.h rename to vadl-test/resources/embench/config/riscv32/boards/vadl/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl/init.S b/vadl-test/resources/embench/config/riscv32/boards/vadl/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl/init.S rename to vadl-test/resources/embench/config/riscv32/boards/vadl/init.S diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl/link.ld b/vadl-test/resources/embench/config/riscv32/boards/vadl/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl/link.ld rename to vadl-test/resources/embench/config/riscv32/boards/vadl/link.ld diff --git a/vadl/test/resources/embench/config/riscv32/boards/vadl/trap.S b/vadl-test/resources/embench/config/riscv32/boards/vadl/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv32/boards/vadl/trap.S rename to vadl-test/resources/embench/config/riscv32/boards/vadl/trap.S diff --git a/vadl/test/resources/embench/config/riscv32/chips/generic/chip.cfg b/vadl-test/resources/embench/config/riscv32/chips/generic/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv32/chips/generic/chip.cfg rename to vadl-test/resources/embench/config/riscv32/chips/generic/chip.cfg diff --git a/vadl/test/resources/embench/config/riscv32/chips/generic/chipsupport.c b/vadl-test/resources/embench/config/riscv32/chips/generic/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv32/chips/generic/chipsupport.c rename to vadl-test/resources/embench/config/riscv32/chips/generic/chipsupport.c diff --git a/vadl/test/resources/embench/config/riscv32/chips/generic/chipsupport.h b/vadl-test/resources/embench/config/riscv32/chips/generic/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv32/chips/generic/chipsupport.h rename to vadl-test/resources/embench/config/riscv32/chips/generic/chipsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/arch.cfg b/vadl-test/resources/embench/config/riscv64/arch.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/arch.cfg rename to vadl-test/resources/embench/config/riscv64/arch.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/board.cfg b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/board.cfg rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/board.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.c b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.c rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.h b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/common.h b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/common.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/common.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/init.S b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/init.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/init.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/link.ld b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/link.ld rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/link.ld diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/trap.S b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/trap.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/trap.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/vars.spike.S b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/vars.spike.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O0/vars.spike.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O0/vars.spike.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/board.cfg b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/board.cfg rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/board.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.c b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.c rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.h b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/common.h b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/common.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/common.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/init.S b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/init.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/init.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/link.ld b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/link.ld rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/link.ld diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/trap.S b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/trap.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/trap.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/vars.spike.S b/vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/vars.spike.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-clang-O3/vars.spike.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-clang-O3/vars.spike.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/board.cfg b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/board.cfg rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/board.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.c b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.c rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.h b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/common.h b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/common.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/common.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/init.S b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/init.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/init.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/link.ld b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/link.ld rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/link.ld diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/trap.S b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/trap.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/trap.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/vars.spike.S b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/vars.spike.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O0/vars.spike.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O0/vars.spike.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/board.cfg b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/board.cfg rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/board.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.c b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.c rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.h b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/common.h b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/common.h rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/common.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/init.S b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/init.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/init.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/link.ld b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/link.ld rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/link.ld diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/trap.S b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/trap.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/trap.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/vars.spike.S b/vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/vars.spike.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike-lcb-O3/vars.spike.S rename to vadl-test/resources/embench/config/riscv64/boards/spike-lcb-O3/vars.spike.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/board.cfg b/vadl-test/resources/embench/config/riscv64/boards/spike/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/board.cfg rename to vadl-test/resources/embench/config/riscv64/boards/spike/board.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/boardsupport.c b/vadl-test/resources/embench/config/riscv64/boards/spike/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/boardsupport.c rename to vadl-test/resources/embench/config/riscv64/boards/spike/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/boardsupport.h b/vadl-test/resources/embench/config/riscv64/boards/spike/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/boardsupport.h rename to vadl-test/resources/embench/config/riscv64/boards/spike/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/common.h b/vadl-test/resources/embench/config/riscv64/boards/spike/common.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/common.h rename to vadl-test/resources/embench/config/riscv64/boards/spike/common.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/init.S b/vadl-test/resources/embench/config/riscv64/boards/spike/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/init.S rename to vadl-test/resources/embench/config/riscv64/boards/spike/init.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/link.ld b/vadl-test/resources/embench/config/riscv64/boards/spike/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/link.ld rename to vadl-test/resources/embench/config/riscv64/boards/spike/link.ld diff --git a/vadl/test/resources/embench/config/riscv64/boards/spike/vars.spike.S b/vadl-test/resources/embench/config/riscv64/boards/spike/vars.spike.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/spike/vars.spike.S rename to vadl-test/resources/embench/config/riscv64/boards/spike/vars.spike.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/vadl/board.cfg b/vadl-test/resources/embench/config/riscv64/boards/vadl/board.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/vadl/board.cfg rename to vadl-test/resources/embench/config/riscv64/boards/vadl/board.cfg diff --git a/vadl/test/resources/embench/config/riscv64/boards/vadl/boardsupport.c b/vadl-test/resources/embench/config/riscv64/boards/vadl/boardsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/vadl/boardsupport.c rename to vadl-test/resources/embench/config/riscv64/boards/vadl/boardsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/boards/vadl/boardsupport.h b/vadl-test/resources/embench/config/riscv64/boards/vadl/boardsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/vadl/boardsupport.h rename to vadl-test/resources/embench/config/riscv64/boards/vadl/boardsupport.h diff --git a/vadl/test/resources/embench/config/riscv64/boards/vadl/init.S b/vadl-test/resources/embench/config/riscv64/boards/vadl/init.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/vadl/init.S rename to vadl-test/resources/embench/config/riscv64/boards/vadl/init.S diff --git a/vadl/test/resources/embench/config/riscv64/boards/vadl/link.ld b/vadl-test/resources/embench/config/riscv64/boards/vadl/link.ld similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/vadl/link.ld rename to vadl-test/resources/embench/config/riscv64/boards/vadl/link.ld diff --git a/vadl/test/resources/embench/config/riscv64/boards/vadl/trap.S b/vadl-test/resources/embench/config/riscv64/boards/vadl/trap.S similarity index 100% rename from vadl/test/resources/embench/config/riscv64/boards/vadl/trap.S rename to vadl-test/resources/embench/config/riscv64/boards/vadl/trap.S diff --git a/vadl/test/resources/embench/config/riscv64/chips/generic/chip.cfg b/vadl-test/resources/embench/config/riscv64/chips/generic/chip.cfg similarity index 100% rename from vadl/test/resources/embench/config/riscv64/chips/generic/chip.cfg rename to vadl-test/resources/embench/config/riscv64/chips/generic/chip.cfg diff --git a/vadl/test/resources/embench/config/riscv64/chips/generic/chipsupport.c b/vadl-test/resources/embench/config/riscv64/chips/generic/chipsupport.c similarity index 100% rename from vadl/test/resources/embench/config/riscv64/chips/generic/chipsupport.c rename to vadl-test/resources/embench/config/riscv64/chips/generic/chipsupport.c diff --git a/vadl/test/resources/embench/config/riscv64/chips/generic/chipsupport.h b/vadl-test/resources/embench/config/riscv64/chips/generic/chipsupport.h similarity index 100% rename from vadl/test/resources/embench/config/riscv64/chips/generic/chipsupport.h rename to vadl-test/resources/embench/config/riscv64/chips/generic/chipsupport.h diff --git a/vadl/test/resources/embench/doc/Makefile b/vadl-test/resources/embench/doc/Makefile similarity index 100% rename from vadl/test/resources/embench/doc/Makefile rename to vadl-test/resources/embench/doc/Makefile diff --git a/vadl/test/resources/embench/doc/README.md b/vadl-test/resources/embench/doc/README.md similarity index 100% rename from vadl/test/resources/embench/doc/README.md rename to vadl-test/resources/embench/doc/README.md diff --git a/vadl/test/resources/embench/doc/custom.wordlist b/vadl-test/resources/embench/doc/custom.wordlist similarity index 100% rename from vadl/test/resources/embench/doc/custom.wordlist rename to vadl-test/resources/embench/doc/custom.wordlist diff --git a/vadl/test/resources/embench/doc/gentoc.sh b/vadl-test/resources/embench/doc/gentoc.sh similarity index 100% rename from vadl/test/resources/embench/doc/gentoc.sh rename to vadl-test/resources/embench/doc/gentoc.sh diff --git a/vadl/test/resources/embench/executed_instructions_relative_performance.py b/vadl-test/resources/embench/executed_instructions_relative_performance.py similarity index 100% rename from vadl/test/resources/embench/executed_instructions_relative_performance.py rename to vadl-test/resources/embench/executed_instructions_relative_performance.py diff --git a/vadl/test/resources/embench/gem5-scripts/atomic-armv8.py b/vadl-test/resources/embench/gem5-scripts/atomic-armv8.py similarity index 100% rename from vadl/test/resources/embench/gem5-scripts/atomic-armv8.py rename to vadl-test/resources/embench/gem5-scripts/atomic-armv8.py diff --git a/vadl/test/resources/embench/gem5-scripts/atomic-rv32.py b/vadl-test/resources/embench/gem5-scripts/atomic-rv32.py similarity index 100% rename from vadl/test/resources/embench/gem5-scripts/atomic-rv32.py rename to vadl-test/resources/embench/gem5-scripts/atomic-rv32.py diff --git a/vadl/test/resources/embench/gem5-scripts/caches.py b/vadl-test/resources/embench/gem5-scripts/caches.py similarity index 100% rename from vadl/test/resources/embench/gem5-scripts/caches.py rename to vadl-test/resources/embench/gem5-scripts/caches.py diff --git a/vadl/test/resources/embench/gem5-scripts/timing-cache-rv32.py b/vadl-test/resources/embench/gem5-scripts/timing-cache-rv32.py similarity index 100% rename from vadl/test/resources/embench/gem5-scripts/timing-cache-rv32.py rename to vadl-test/resources/embench/gem5-scripts/timing-cache-rv32.py diff --git a/vadl/test/resources/embench/gem5-scripts/timing-rv32.py b/vadl-test/resources/embench/gem5-scripts/timing-rv32.py similarity index 100% rename from vadl/test/resources/embench/gem5-scripts/timing-rv32.py rename to vadl-test/resources/embench/gem5-scripts/timing-rv32.py diff --git a/vadl/test/resources/embench/install-vadl.sh b/vadl-test/resources/embench/install-vadl.sh similarity index 100% rename from vadl/test/resources/embench/install-vadl.sh rename to vadl-test/resources/embench/install-vadl.sh diff --git a/vadl/test/resources/embench/lcbw32/lcb-wrapper b/vadl-test/resources/embench/lcbw32/lcb-wrapper similarity index 100% rename from vadl/test/resources/embench/lcbw32/lcb-wrapper rename to vadl-test/resources/embench/lcbw32/lcb-wrapper diff --git a/vadl/test/resources/embench/lcbw64/lcb-wrapper b/vadl-test/resources/embench/lcbw64/lcb-wrapper similarity index 100% rename from vadl/test/resources/embench/lcbw64/lcb-wrapper rename to vadl-test/resources/embench/lcbw64/lcb-wrapper diff --git a/vadl/test/resources/embench/pylib/embench_core.py b/vadl-test/resources/embench/pylib/embench_core.py similarity index 100% rename from vadl/test/resources/embench/pylib/embench_core.py rename to vadl-test/resources/embench/pylib/embench_core.py diff --git a/vadl/test/resources/embench/pylib/run_gdbserver_sim.py b/vadl-test/resources/embench/pylib/run_gdbserver_sim.py similarity index 100% rename from vadl/test/resources/embench/pylib/run_gdbserver_sim.py rename to vadl-test/resources/embench/pylib/run_gdbserver_sim.py diff --git a/vadl/test/resources/embench/pylib/run_mac.py b/vadl-test/resources/embench/pylib/run_mac.py similarity index 100% rename from vadl/test/resources/embench/pylib/run_mac.py rename to vadl-test/resources/embench/pylib/run_mac.py diff --git a/vadl/test/resources/embench/pylib/run_native.py b/vadl-test/resources/embench/pylib/run_native.py similarity index 100% rename from vadl/test/resources/embench/pylib/run_native.py rename to vadl-test/resources/embench/pylib/run_native.py diff --git a/vadl/test/resources/embench/pylib/run_sim.py b/vadl-test/resources/embench/pylib/run_sim.py similarity index 100% rename from vadl/test/resources/embench/pylib/run_sim.py rename to vadl-test/resources/embench/pylib/run_sim.py diff --git a/vadl/test/resources/embench/pylib/run_stm32f4-discovery.py b/vadl-test/resources/embench/pylib/run_stm32f4-discovery.py similarity index 100% rename from vadl/test/resources/embench/pylib/run_stm32f4-discovery.py rename to vadl-test/resources/embench/pylib/run_stm32f4-discovery.py diff --git a/vadl/test/resources/embench/pylib/run_wally.py b/vadl-test/resources/embench/pylib/run_wally.py similarity index 100% rename from vadl/test/resources/embench/pylib/run_wally.py rename to vadl-test/resources/embench/pylib/run_wally.py diff --git a/vadl/test/resources/embench/qemu_get_number_executed_instructions.sh b/vadl-test/resources/embench/qemu_get_number_executed_instructions.sh similarity index 100% rename from vadl/test/resources/embench/qemu_get_number_executed_instructions.sh rename to vadl-test/resources/embench/qemu_get_number_executed_instructions.sh diff --git a/vadl/test/resources/embench/run_all.py b/vadl-test/resources/embench/run_all.py similarity index 100% rename from vadl/test/resources/embench/run_all.py rename to vadl-test/resources/embench/run_all.py diff --git a/vadl/test/resources/embench/run_in_docker.sh b/vadl-test/resources/embench/run_in_docker.sh similarity index 100% rename from vadl/test/resources/embench/run_in_docker.sh rename to vadl-test/resources/embench/run_in_docker.sh diff --git a/vadl/test/resources/embench/src/aha-mont64/mont64.c b/vadl-test/resources/embench/src/aha-mont64/mont64.c similarity index 100% rename from vadl/test/resources/embench/src/aha-mont64/mont64.c rename to vadl-test/resources/embench/src/aha-mont64/mont64.c diff --git a/vadl/test/resources/embench/src/crc32/crc_32.c b/vadl-test/resources/embench/src/crc32/crc_32.c similarity index 100% rename from vadl/test/resources/embench/src/crc32/crc_32.c rename to vadl-test/resources/embench/src/crc32/crc_32.c diff --git a/vadl/test/resources/embench/src/cubic/basicmath_small.c b/vadl-test/resources/embench/src/cubic/basicmath_small.c similarity index 100% rename from vadl/test/resources/embench/src/cubic/basicmath_small.c rename to vadl-test/resources/embench/src/cubic/basicmath_small.c diff --git a/vadl/test/resources/embench/src/cubic/libcubic.c b/vadl-test/resources/embench/src/cubic/libcubic.c similarity index 100% rename from vadl/test/resources/embench/src/cubic/libcubic.c rename to vadl-test/resources/embench/src/cubic/libcubic.c diff --git a/vadl/test/resources/embench/src/cubic/pi.h b/vadl-test/resources/embench/src/cubic/pi.h similarity index 100% rename from vadl/test/resources/embench/src/cubic/pi.h rename to vadl-test/resources/embench/src/cubic/pi.h diff --git a/vadl/test/resources/embench/src/cubic/snipmath.h b/vadl-test/resources/embench/src/cubic/snipmath.h similarity index 100% rename from vadl/test/resources/embench/src/cubic/snipmath.h rename to vadl-test/resources/embench/src/cubic/snipmath.h diff --git a/vadl/test/resources/embench/src/cubic/sniptype.h b/vadl-test/resources/embench/src/cubic/sniptype.h similarity index 100% rename from vadl/test/resources/embench/src/cubic/sniptype.h rename to vadl-test/resources/embench/src/cubic/sniptype.h diff --git a/vadl/test/resources/embench/src/edn/libedn.c b/vadl-test/resources/embench/src/edn/libedn.c similarity index 100% rename from vadl/test/resources/embench/src/edn/libedn.c rename to vadl-test/resources/embench/src/edn/libedn.c diff --git a/vadl/test/resources/embench/src/huffbench/.gitignore b/vadl-test/resources/embench/src/huffbench/.gitignore similarity index 100% rename from vadl/test/resources/embench/src/huffbench/.gitignore rename to vadl-test/resources/embench/src/huffbench/.gitignore diff --git a/vadl/test/resources/embench/src/huffbench/libhuffbench.c b/vadl-test/resources/embench/src/huffbench/libhuffbench.c similarity index 100% rename from vadl/test/resources/embench/src/huffbench/libhuffbench.c rename to vadl-test/resources/embench/src/huffbench/libhuffbench.c diff --git a/vadl/test/resources/embench/src/matmult-int/matmult-int.c b/vadl-test/resources/embench/src/matmult-int/matmult-int.c similarity index 100% rename from vadl/test/resources/embench/src/matmult-int/matmult-int.c rename to vadl-test/resources/embench/src/matmult-int/matmult-int.c diff --git a/vadl/test/resources/embench/src/md5sum/md5.c b/vadl-test/resources/embench/src/md5sum/md5.c similarity index 100% rename from vadl/test/resources/embench/src/md5sum/md5.c rename to vadl-test/resources/embench/src/md5sum/md5.c diff --git a/vadl/test/resources/embench/src/minver/libminver.c b/vadl-test/resources/embench/src/minver/libminver.c similarity index 100% rename from vadl/test/resources/embench/src/minver/libminver.c rename to vadl-test/resources/embench/src/minver/libminver.c diff --git a/vadl/test/resources/embench/src/nbody/nbody.c b/vadl-test/resources/embench/src/nbody/nbody.c similarity index 100% rename from vadl/test/resources/embench/src/nbody/nbody.c rename to vadl-test/resources/embench/src/nbody/nbody.c diff --git a/vadl/test/resources/embench/src/nettle-aes/nettle-aes.c b/vadl-test/resources/embench/src/nettle-aes/nettle-aes.c similarity index 100% rename from vadl/test/resources/embench/src/nettle-aes/nettle-aes.c rename to vadl-test/resources/embench/src/nettle-aes/nettle-aes.c diff --git a/vadl/test/resources/embench/src/nettle-sha256/nettle-sha256.c b/vadl-test/resources/embench/src/nettle-sha256/nettle-sha256.c similarity index 100% rename from vadl/test/resources/embench/src/nettle-sha256/nettle-sha256.c rename to vadl-test/resources/embench/src/nettle-sha256/nettle-sha256.c diff --git a/vadl/test/resources/embench/src/nsichneu/libnsichneu.c b/vadl-test/resources/embench/src/nsichneu/libnsichneu.c similarity index 100% rename from vadl/test/resources/embench/src/nsichneu/libnsichneu.c rename to vadl-test/resources/embench/src/nsichneu/libnsichneu.c diff --git a/vadl/test/resources/embench/src/picojpeg/libpicojpeg.c b/vadl-test/resources/embench/src/picojpeg/libpicojpeg.c similarity index 100% rename from vadl/test/resources/embench/src/picojpeg/libpicojpeg.c rename to vadl-test/resources/embench/src/picojpeg/libpicojpeg.c diff --git a/vadl/test/resources/embench/src/picojpeg/picojpeg.h b/vadl-test/resources/embench/src/picojpeg/picojpeg.h similarity index 100% rename from vadl/test/resources/embench/src/picojpeg/picojpeg.h rename to vadl-test/resources/embench/src/picojpeg/picojpeg.h diff --git a/vadl/test/resources/embench/src/picojpeg/picojpeg_test.c b/vadl-test/resources/embench/src/picojpeg/picojpeg_test.c similarity index 100% rename from vadl/test/resources/embench/src/picojpeg/picojpeg_test.c rename to vadl-test/resources/embench/src/picojpeg/picojpeg_test.c diff --git a/vadl/test/resources/embench/src/primecount/primecount.c b/vadl-test/resources/embench/src/primecount/primecount.c similarity index 100% rename from vadl/test/resources/embench/src/primecount/primecount.c rename to vadl-test/resources/embench/src/primecount/primecount.c diff --git a/vadl/test/resources/embench/src/qrduino/ecctable.h b/vadl-test/resources/embench/src/qrduino/ecctable.h similarity index 100% rename from vadl/test/resources/embench/src/qrduino/ecctable.h rename to vadl-test/resources/embench/src/qrduino/ecctable.h diff --git a/vadl/test/resources/embench/src/qrduino/qrbits.h b/vadl-test/resources/embench/src/qrduino/qrbits.h similarity index 100% rename from vadl/test/resources/embench/src/qrduino/qrbits.h rename to vadl-test/resources/embench/src/qrduino/qrbits.h diff --git a/vadl/test/resources/embench/src/qrduino/qrencode.c b/vadl-test/resources/embench/src/qrduino/qrencode.c similarity index 100% rename from vadl/test/resources/embench/src/qrduino/qrencode.c rename to vadl-test/resources/embench/src/qrduino/qrencode.c diff --git a/vadl/test/resources/embench/src/qrduino/qrencode.h b/vadl-test/resources/embench/src/qrduino/qrencode.h similarity index 100% rename from vadl/test/resources/embench/src/qrduino/qrencode.h rename to vadl-test/resources/embench/src/qrduino/qrencode.h diff --git a/vadl/test/resources/embench/src/qrduino/qrframe.c b/vadl-test/resources/embench/src/qrduino/qrframe.c similarity index 100% rename from vadl/test/resources/embench/src/qrduino/qrframe.c rename to vadl-test/resources/embench/src/qrduino/qrframe.c diff --git a/vadl/test/resources/embench/src/qrduino/qrtest.c b/vadl-test/resources/embench/src/qrduino/qrtest.c similarity index 100% rename from vadl/test/resources/embench/src/qrduino/qrtest.c rename to vadl-test/resources/embench/src/qrduino/qrtest.c diff --git a/vadl/test/resources/embench/src/sglib-combined/combined.c b/vadl-test/resources/embench/src/sglib-combined/combined.c similarity index 100% rename from vadl/test/resources/embench/src/sglib-combined/combined.c rename to vadl-test/resources/embench/src/sglib-combined/combined.c diff --git a/vadl/test/resources/embench/src/sglib-combined/sglib.h b/vadl-test/resources/embench/src/sglib-combined/sglib.h similarity index 100% rename from vadl/test/resources/embench/src/sglib-combined/sglib.h rename to vadl-test/resources/embench/src/sglib-combined/sglib.h diff --git a/vadl/test/resources/embench/src/slre/libslre.c b/vadl-test/resources/embench/src/slre/libslre.c similarity index 100% rename from vadl/test/resources/embench/src/slre/libslre.c rename to vadl-test/resources/embench/src/slre/libslre.c diff --git a/vadl/test/resources/embench/src/slre/slre.h b/vadl-test/resources/embench/src/slre/slre.h similarity index 100% rename from vadl/test/resources/embench/src/slre/slre.h rename to vadl-test/resources/embench/src/slre/slre.h diff --git a/vadl/test/resources/embench/src/st/libst.c b/vadl-test/resources/embench/src/st/libst.c similarity index 100% rename from vadl/test/resources/embench/src/st/libst.c rename to vadl-test/resources/embench/src/st/libst.c diff --git a/vadl/test/resources/embench/src/statemate/libstatemate.c b/vadl-test/resources/embench/src/statemate/libstatemate.c similarity index 100% rename from vadl/test/resources/embench/src/statemate/libstatemate.c rename to vadl-test/resources/embench/src/statemate/libstatemate.c diff --git a/vadl/test/resources/embench/src/tarfind/tarfind.c b/vadl-test/resources/embench/src/tarfind/tarfind.c similarity index 100% rename from vadl/test/resources/embench/src/tarfind/tarfind.c rename to vadl-test/resources/embench/src/tarfind/tarfind.c diff --git a/vadl/test/resources/embench/src/ud/libud.c b/vadl-test/resources/embench/src/ud/libud.c similarity index 100% rename from vadl/test/resources/embench/src/ud/libud.c rename to vadl-test/resources/embench/src/ud/libud.c diff --git a/vadl/test/resources/embench/src/wikisort/libwikisort.c b/vadl-test/resources/embench/src/wikisort/libwikisort.c similarity index 100% rename from vadl/test/resources/embench/src/wikisort/libwikisort.c rename to vadl-test/resources/embench/src/wikisort/libwikisort.c diff --git a/vadl/test/resources/embench/support/beebsc.c b/vadl-test/resources/embench/support/beebsc.c similarity index 100% rename from vadl/test/resources/embench/support/beebsc.c rename to vadl-test/resources/embench/support/beebsc.c diff --git a/vadl/test/resources/embench/support/beebsc.h b/vadl-test/resources/embench/support/beebsc.h similarity index 100% rename from vadl/test/resources/embench/support/beebsc.h rename to vadl-test/resources/embench/support/beebsc.h diff --git a/vadl/test/resources/embench/support/board.c b/vadl-test/resources/embench/support/board.c similarity index 100% rename from vadl/test/resources/embench/support/board.c rename to vadl-test/resources/embench/support/board.c diff --git a/vadl/test/resources/embench/support/chip.c b/vadl-test/resources/embench/support/chip.c similarity index 100% rename from vadl/test/resources/embench/support/chip.c rename to vadl-test/resources/embench/support/chip.c diff --git a/vadl/test/resources/embench/support/dummy-assert.c b/vadl-test/resources/embench/support/dummy-assert.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-assert.c rename to vadl-test/resources/embench/support/dummy-assert.c diff --git a/vadl/test/resources/embench/support/dummy-crt0.c b/vadl-test/resources/embench/support/dummy-crt0.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-crt0.c rename to vadl-test/resources/embench/support/dummy-crt0.c diff --git a/vadl/test/resources/embench/support/dummy-libc.c b/vadl-test/resources/embench/support/dummy-libc.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-libc.c rename to vadl-test/resources/embench/support/dummy-libc.c diff --git a/vadl/test/resources/embench/support/dummy-libgcc.c b/vadl-test/resources/embench/support/dummy-libgcc.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-libgcc.c rename to vadl-test/resources/embench/support/dummy-libgcc.c diff --git a/vadl/test/resources/embench/support/dummy-libm.c b/vadl-test/resources/embench/support/dummy-libm.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-libm.c rename to vadl-test/resources/embench/support/dummy-libm.c diff --git a/vadl/test/resources/embench/support/dummy-memcmp.c b/vadl-test/resources/embench/support/dummy-memcmp.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-memcmp.c rename to vadl-test/resources/embench/support/dummy-memcmp.c diff --git a/vadl/test/resources/embench/support/dummy-memcpy.c b/vadl-test/resources/embench/support/dummy-memcpy.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-memcpy.c rename to vadl-test/resources/embench/support/dummy-memcpy.c diff --git a/vadl/test/resources/embench/support/dummy-memmove.c b/vadl-test/resources/embench/support/dummy-memmove.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-memmove.c rename to vadl-test/resources/embench/support/dummy-memmove.c diff --git a/vadl/test/resources/embench/support/dummy-memset.c b/vadl-test/resources/embench/support/dummy-memset.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-memset.c rename to vadl-test/resources/embench/support/dummy-memset.c diff --git a/vadl/test/resources/embench/support/dummy-str.c b/vadl-test/resources/embench/support/dummy-str.c similarity index 100% rename from vadl/test/resources/embench/support/dummy-str.c rename to vadl-test/resources/embench/support/dummy-str.c diff --git a/vadl/test/resources/embench/support/main.c b/vadl-test/resources/embench/support/main.c similarity index 100% rename from vadl/test/resources/embench/support/main.c rename to vadl-test/resources/embench/support/main.c diff --git a/vadl/test/resources/embench/support/support.h b/vadl-test/resources/embench/support/support.h similarity index 100% rename from vadl/test/resources/embench/support/support.h rename to vadl-test/resources/embench/support/support.h diff --git a/vadl/test/resources/embench/vadl-extras/generate_sv32_page_table.sh b/vadl-test/resources/embench/vadl-extras/generate_sv32_page_table.sh similarity index 100% rename from vadl/test/resources/embench/vadl-extras/generate_sv32_page_table.sh rename to vadl-test/resources/embench/vadl-extras/generate_sv32_page_table.sh diff --git a/vadl/test/resources/embench/vadl-extras/page-table.txt b/vadl-test/resources/embench/vadl-extras/page-table.txt similarity index 100% rename from vadl/test/resources/embench/vadl-extras/page-table.txt rename to vadl-test/resources/embench/vadl-extras/page-table.txt diff --git a/vadl/test/resources/embench/vadl-extras/reconstruct_address.py b/vadl-test/resources/embench/vadl-extras/reconstruct_address.py similarity index 100% rename from vadl/test/resources/embench/vadl-extras/reconstruct_address.py rename to vadl-test/resources/embench/vadl-extras/reconstruct_address.py diff --git a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl similarity index 82% rename from vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl rename to vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl index e9bd85fad..3d5ece610 100644 --- a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl +++ b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl @@ -10,7 +10,7 @@ instruction set architecture TEST = // Reported Diagnostics: // // error: Invalid zero annotation -// ╭──[test/resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl:5:12] +// ╭──[resources/frontend-snapshots/annotation/invalidZeroAnnoationInvalidTarget2.vadl:5:12] // │ // 5 │ [ zero : Y(1)] // │ ^ Zero annotation target must be the annotated register. diff --git a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl similarity index 82% rename from vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl rename to vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl index fe2177787..444cc94c9 100644 --- a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl +++ b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl @@ -10,7 +10,7 @@ instruction set architecture TEST = // Reported Diagnostics: // // error: Invalid zero annotation -// ╭──[test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl:5:14] +// ╭──[resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgument.vadl:5:14] // │ // 5 │ [ zero : X(Y) ] // │ ^ Index must be a constant expression. diff --git a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl rename to vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl index dea4e9271..276d0122e 100644 --- a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl +++ b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl @@ -9,7 +9,7 @@ instruction set architecture TEST = // Reported Diagnostics: // // error: Invalid zero annotation -// ╭──[test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl:4:12] +// ╭──[resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidArgumentNumber.vadl:4:12] // │ // 4 │ [ zero : X(1)(2) ] // │ ^^^^^^^ Exactly one register index was expected, but 2 were provided. diff --git a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl rename to vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl index e79bef1ce..4fcac9319 100644 --- a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl +++ b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl @@ -10,7 +10,7 @@ instruction set architecture TEST = // Reported Diagnostics: // // error: Invalid zero annotation -// ╭──[test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl:5:3] +// ╭──[resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidStructure.vadl:5:3] // │ // 5 │ [ zero : 2 + 3 - 1] // │ ^^^^^^^^^^^^^^^^^^^ Zero annotation must be of form [ zero : ( ) ]. diff --git a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl similarity index 82% rename from vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl rename to vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl index 239325dbf..df8507fc7 100644 --- a/vadl/test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl +++ b/vadl-test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl @@ -10,7 +10,7 @@ instruction set architecture TEST = // Reported Diagnostics: // // error: Invalid zero annotation -// ╭──[test/resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl:5:12] +// ╭──[resources/frontend-snapshots/annotation/invalidZeroAnnotationInvalidTarget1.vadl:5:12] // │ // 5 │ [ zero : M(1)] // │ ^ Zero annotation target must be the annotated register. diff --git a/vadl/test/resources/frontend-snapshots/annotation/programCounterAnnotations.vadl b/vadl-test/resources/frontend-snapshots/annotation/programCounterAnnotations.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/annotation/programCounterAnnotations.vadl rename to vadl-test/resources/frontend-snapshots/annotation/programCounterAnnotations.vadl diff --git a/vadl/test/resources/frontend-snapshots/annotation/zeroAnnotation.vadl b/vadl-test/resources/frontend-snapshots/annotation/zeroAnnotation.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/annotation/zeroAnnotation.vadl rename to vadl-test/resources/frontend-snapshots/annotation/zeroAnnotation.vadl diff --git a/vadl/test/resources/frontend-snapshots/imports/base.vadl b/vadl-test/resources/frontend-snapshots/imports/base.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/imports/base.vadl rename to vadl-test/resources/frontend-snapshots/imports/base.vadl diff --git a/vadl/test/resources/frontend-snapshots/imports/importMacro.vadl b/vadl-test/resources/frontend-snapshots/imports/importMacro.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/imports/importMacro.vadl rename to vadl-test/resources/frontend-snapshots/imports/importMacro.vadl diff --git a/vadl/test/resources/frontend-snapshots/imports/importWhereWithIsMacro.vadl b/vadl-test/resources/frontend-snapshots/imports/importWhereWithIsMacro.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/imports/importWhereWithIsMacro.vadl rename to vadl-test/resources/frontend-snapshots/imports/importWhereWithIsMacro.vadl diff --git a/vadl/test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl b/vadl-test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl similarity index 73% rename from vadl/test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl rename to vadl-test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl index bbec4dc12..574f7b56a 100644 --- a/vadl/test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl +++ b/vadl-test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl @@ -8,12 +8,12 @@ model magicNumber(): Ex = { // Reported Diagnostics: // // error: Macro name already used: magicNumber -// ╭──[test/resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl:3:7] +// ╭──[resources/frontend-snapshots/imports/invalidImportAndRedeclareModel.vadl:3:7] // │ // 3 │ model magicNumber(): Ex = { // │ ^^^^^^^^^^^ Second definition here. // ⋮ -// ╭─ test/resources/frontend-snapshots/imports/base.vadl:1:7 +// ╭─ resources/frontend-snapshots/imports/base.vadl:1:7 // 1 │ model magicNumber(): Ex = { // │ ----------- First defined here. // │ diff --git a/vadl/test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl b/vadl-test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl similarity index 83% rename from vadl/test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl rename to vadl-test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl index 05a44d138..e8923db83 100644 --- a/vadl/test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl +++ b/vadl-test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl @@ -8,7 +8,7 @@ constant flo = $magicNumber() // Reported Diagnostics: // // error: Invalid Import -// ╭──[test/resources/frontend-snapshots/imports/invalidImportBareImport.vadl:3:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportBareImport.vadl:3:8] // │ // 3 │ import base // │ ^^^^ The import only describes the file to import from but not what to import. diff --git a/vadl/test/resources/frontend-snapshots/imports/invalidImportOverrideNonIdMacro.vadl b/vadl-test/resources/frontend-snapshots/imports/invalidImportOverrideNonIdMacro.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/imports/invalidImportOverrideNonIdMacro.vadl rename to vadl-test/resources/frontend-snapshots/imports/invalidImportOverrideNonIdMacro.vadl index 5bfc590d9..8f5907faa 100644 --- a/vadl/test/resources/frontend-snapshots/imports/invalidImportOverrideNonIdMacro.vadl +++ b/vadl-test/resources/frontend-snapshots/imports/invalidImportOverrideNonIdMacro.vadl @@ -5,14 +5,14 @@ import base::magicNumber with ("magicNumber=two") // Reported Diagnostics: // // error: Invalid Model Override -// ╭──[test/resources/frontend-snapshots/imports/base.vadl:1:1] +// ╭──[resources/frontend-snapshots/imports/base.vadl:1:1] // │ // 1 │ model magicNumber(): Ex = { // │ ^^^^^^^^^^^^^^^^^^^^^^^ note: This model was overridden but only models returning `Id` can be overridden. // │ // // error: Unknown Model `$num` -// ╭──[test/resources/frontend-snapshots/imports/base.vadl:11:3] +// ╭──[resources/frontend-snapshots/imports/base.vadl:11:3] // │ // 11 │ $num + 1 // │ ^^^^ diff --git a/vadl/test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl b/vadl-test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl similarity index 88% rename from vadl/test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl rename to vadl-test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl index 1ce22b5af..f9988cf06 100644 --- a/vadl/test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl +++ b/vadl-test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl @@ -21,7 +21,7 @@ constant flo = $numPlusOne() // │ // // error: SyntaxType Mismatch -// ╭──[test/resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl:4:3] +// ╭──[resources/frontend-snapshots/imports/invalidImportWhereWithIsMacroOfWrongType.vadl:4:3] // │ // 4 │ 42 // │ ^^ diff --git a/vadl/test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl b/vadl-test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl similarity index 71% rename from vadl/test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl rename to vadl-test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl index 5514bac1e..1323964ad 100644 --- a/vadl/test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl +++ b/vadl-test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl @@ -15,56 +15,56 @@ import "sys/does/not/exist"::{this, also, not} // Reported Diagnostics: // // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:4:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:4:8] // │ // 4 │ import doesnotexist::{alsoNotExisting} // │ ^^^^^^^^^^^^ // │ // Could not resolve file path: "doesnotexist" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:5:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:5:8] // │ // 5 │ import doesnotexist // │ ^^^^^^^^^^^^ // │ // Could not resolve file path: "doesnotexist" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:6:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:6:8] // │ // 6 │ import does::not::exist // │ ^^^^ // │ // Could not resolve file path: "does" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:7:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:7:8] // │ // 7 │ import sys::does::not::exist::{this, also, not} // │ ^^^ // │ // Could not resolve file path: "sys" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:9:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:9:8] // │ // 9 │ import "doesnotexist"::{alsoNotExisting} // │ ^^^^^^^^^^^^^^ // │ // Could not resolve file path: "doesnotexist" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:10:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:10:8] // │ // 10 │ import "doesnotexist" // │ ^^^^^^^^^^^^^^ // │ // Could not resolve file path: "doesnotexist" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:11:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:11:8] // │ // 11 │ import "does/not/exist" // │ ^^^^^^^^^^^^^^^^ // │ // Could not resolve file path: "does/not/exist" // error: Import Error -// ╭──[test/resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:12:8] +// ╭──[resources/frontend-snapshots/imports/invalidImportsBadPaths.vadl:12:8] // │ // 12 │ import "sys/does/not/exist"::{this, also, not} // │ ^^^^^^^^^^^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl b/vadl-test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl rename to vadl-test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl index 08163836f..1f1d2ec4e 100644 --- a/vadl/test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl +++ b/vadl-test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl @@ -6,7 +6,7 @@ constant flo = $magicNumber() // Reported Diagnostics: // // error: Invalid Import -// ╭──[test/resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl:1:32] +// ╭──[resources/frontend-snapshots/imports/invalidImportwrongMacroOverrideFormat.vadl:1:32] // │ // 1 │ import base::magicNumber with ("magicNunberNoSpace") // │ ^^^^^^^^^^^^^^^^^^^^ Macro overrides must have the form `=`. diff --git a/vadl/test/resources/frontend-snapshots/lowering/complexFoldOperatorFromMacro.vadl b/vadl-test/resources/frontend-snapshots/lowering/complexFoldOperatorFromMacro.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/complexFoldOperatorFromMacro.vadl rename to vadl-test/resources/frontend-snapshots/lowering/complexFoldOperatorFromMacro.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/dynamicIndexingForAllDo.vadl b/vadl-test/resources/frontend-snapshots/lowering/dynamicIndexingForAllDo.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/dynamicIndexingForAllDo.vadl rename to vadl-test/resources/frontend-snapshots/lowering/dynamicIndexingForAllDo.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllDo.vadl b/vadl-test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllDo.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllDo.vadl rename to vadl-test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllDo.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllTensor.vadl b/vadl-test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllTensor.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllTensor.vadl rename to vadl-test/resources/frontend-snapshots/lowering/dynamicTensorSlicingForAllTensor.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/exceptionWithConstantValue.vadl b/vadl-test/resources/frontend-snapshots/lowering/exceptionWithConstantValue.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/exceptionWithConstantValue.vadl rename to vadl-test/resources/frontend-snapshots/lowering/exceptionWithConstantValue.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/fiveStageMicroarchitecture.vadl b/vadl-test/resources/frontend-snapshots/lowering/fiveStageMicroarchitecture.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/fiveStageMicroarchitecture.vadl rename to vadl-test/resources/frontend-snapshots/lowering/fiveStageMicroarchitecture.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl b/vadl-test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl similarity index 89% rename from vadl/test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl rename to vadl-test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl index 1b385b45f..78fa18511 100644 --- a/vadl/test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl +++ b/vadl-test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl @@ -30,7 +30,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Unknown Symbol: "DOESNOTEXIST" -// ╭──[test/resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl:13:30] +// ╭──[resources/frontend-snapshots/lowering/invalidPseudoCallInstructionMissing.vadl:13:30] // │ // 13 │ special call instruction = DOESNOTEXIST // │ ^^^^^^^^^^^^ No symbol with this name exists. diff --git a/vadl/test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl b/vadl-test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl similarity index 89% rename from vadl/test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl rename to vadl-test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl index 83d741483..4d296dceb 100644 --- a/vadl/test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl +++ b/vadl-test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl @@ -30,7 +30,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Unknown Symbol: "DOESNOTEXIST" -// ╭──[test/resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl:12:36] +// ╭──[resources/frontend-snapshots/lowering/invalidPseudoReturnInstructionMissing.vadl:12:36] // │ // 12 │ special return instruction = DOESNOTEXIST // │ ^^^^^^^^^^^^ No symbol with this name exists. diff --git a/vadl/test/resources/frontend-snapshots/lowering/singleStageMicroarchitecture.vadl b/vadl-test/resources/frontend-snapshots/lowering/singleStageMicroarchitecture.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/singleStageMicroarchitecture.vadl rename to vadl-test/resources/frontend-snapshots/lowering/singleStageMicroarchitecture.vadl diff --git a/vadl/test/resources/frontend-snapshots/lowering/threeStageMicroarchitecture.vadl b/vadl-test/resources/frontend-snapshots/lowering/threeStageMicroarchitecture.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/lowering/threeStageMicroarchitecture.vadl rename to vadl-test/resources/frontend-snapshots/lowering/threeStageMicroarchitecture.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/commonDefs.vadl b/vadl-test/resources/frontend-snapshots/macro/commonDefs.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/commonDefs.vadl rename to vadl-test/resources/frontend-snapshots/macro/commonDefs.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/complexSyntaxTypes.vadl b/vadl-test/resources/frontend-snapshots/macro/complexSyntaxTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/complexSyntaxTypes.vadl rename to vadl-test/resources/frontend-snapshots/macro/complexSyntaxTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/expandedLetStatementCorrectType.vadl b/vadl-test/resources/frontend-snapshots/macro/expandedLetStatementCorrectType.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/expandedLetStatementCorrectType.vadl rename to vadl-test/resources/frontend-snapshots/macro/expandedLetStatementCorrectType.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/isaDefs.vadl b/vadl-test/resources/frontend-snapshots/macro/isaDefs.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/isaDefs.vadl rename to vadl-test/resources/frontend-snapshots/macro/isaDefs.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/macroProducingMacros.vadl b/vadl-test/resources/frontend-snapshots/macro/macroProducingMacros.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/macroProducingMacros.vadl rename to vadl-test/resources/frontend-snapshots/macro/macroProducingMacros.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/modelTypeVariance.vadl b/vadl-test/resources/frontend-snapshots/macro/modelTypeVariance.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/modelTypeVariance.vadl rename to vadl-test/resources/frontend-snapshots/macro/modelTypeVariance.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/operators.vadl b/vadl-test/resources/frontend-snapshots/macro/operators.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/operators.vadl rename to vadl-test/resources/frontend-snapshots/macro/operators.vadl diff --git a/vadl/test/resources/frontend-snapshots/macro/rv3264im.vadl b/vadl-test/resources/frontend-snapshots/macro/rv3264im.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/macro/rv3264im.vadl rename to vadl-test/resources/frontend-snapshots/macro/rv3264im.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl similarity index 80% rename from vadl/test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl index 9bb5d5e00..54e52576d 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl @@ -13,7 +13,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Missing Assembly -// ╭──[test/resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl:7:15] +// ╭──[resources/frontend-snapshots/nameresolution/formatFieldsAvailableInInstruction.vadl:7:15] // │ // 7 │ instruction BEQ : Btype = { // │ ^^^ diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl index 57ad94faf..160e901c7 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl @@ -5,7 +5,7 @@ constant a = 13 // Reported Diagnostics: // // error: Symbol name already used: a -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl:2:10] +// ╭──[resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingConstant.vadl:2:10] // │ // 1 │ constant a = 13 // │ - First defined here. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl similarity index 80% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl index 382efe144..af7839d04 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl @@ -7,7 +7,7 @@ instruction set architecture FLO = { // Reported Diagnostics: // // error: Symbol name already used: MEM -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl:3:10] +// ╭──[resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingMemoryDefinitions.vadl:3:10] // │ // 2 │ memory MEM: Bits<32> -> Bits<8> // │ --- First defined here. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl similarity index 78% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl index 11619db9c..87cf2dc68 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl @@ -7,7 +7,7 @@ instruction set architecture FLO = { // Reported Diagnostics: // // error: Symbol name already used: X -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl:3:12] +// ╭──[resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterDefinitions.vadl:3:12] // │ // 2 │ register X : Bits<5> // │ - First defined here. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl index 206b267cb..80dc1bc19 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl @@ -7,7 +7,7 @@ instruction set architecture FLO = { // Reported Diagnostics: // // error: Symbol name already used: X -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl:3:12] +// ╭──[resources/frontend-snapshots/nameresolution/invalidResolveTwoOverlappingRegisterFileDefinitions.vadl:3:12] // │ // 2 │ register X : Bits<5> -> Bits<32> // │ - First defined here. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl similarity index 72% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl index c6820aff5..8402f49cb 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl @@ -4,7 +4,7 @@ constant a = b // Reported Diagnostics: // // error: Unknown Symbol: "b" -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl:1:14] +// ╭──[resources/frontend-snapshots/nameresolution/invalidResolveUndefinedVariable.vadl:1:14] // │ // 1 │ constant a = b // │ ^ No symbol with this name exists. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl index e9ab7abda..369c18f91 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl @@ -6,7 +6,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Unknown Symbol: "XSize" -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl:2:28] +// ╭──[resources/frontend-snapshots/nameresolution/invalidTypeNameInUsing.vadl:2:28] // │ // 2 │ using Word = SInt // │ ^^^^^ No symbol with this name exists. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl similarity index 73% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl index d30fdcca8..9d1d92abd 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl @@ -4,7 +4,7 @@ constant b: SInt = 1 // Reported Diagnostics: // // error: Unknown Symbol: "a" -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl:1:18] +// ╭──[resources/frontend-snapshots/nameresolution/invalidTypeSizeNameDoesNotExist.vadl:1:18] // │ // 1 │ constant b: SInt = 1 // │ ^ No symbol with this name exists. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl similarity index 83% rename from vadl/test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl index 29c9e69f7..5e7a1ba4c 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl @@ -12,7 +12,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Unknown Field: "bit" -// ╭──[test/resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl:8:20] +// ╭──[resources/frontend-snapshots/nameresolution/invalidUnknownFieldInEcoding.vadl:8:20] // │ // 8 │ encoding BEQ = { bit = 8 } // │ ^^^ No field with this name exists. diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/modelTypeAvailableInExtendingIsa.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/modelTypeAvailableInExtendingIsa.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/modelTypeAvailableInExtendingIsa.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/modelTypeAvailableInExtendingIsa.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl similarity index 84% rename from vadl/test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl index 34d4ed801..e197c8fa4 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl @@ -23,7 +23,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Missing Assembly -// ╭──[test/resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl:17:15] +// ╭──[resources/frontend-snapshots/nameresolution/nestedFormatFieldsResolve.vadl:17:15] // │ // 17 │ instruction BEQ : Btype = { // │ ^^^ diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl index c4920abfa..02d1104a6 100644 --- a/vadl/test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl +++ b/vadl-test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl @@ -12,7 +12,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Missing Assembly -// ╭──[test/resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl:6:15] +// ╭──[resources/frontend-snapshots/nameresolution/registersAvailableInInstruction.vadl:6:15] // │ // 6 │ instruction BEQ : Btype = { // │ ^^^ diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/resolveInTheFutureDefinedVariable.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/resolveInTheFutureDefinedVariable.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/resolveInTheFutureDefinedVariable.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/resolveInTheFutureDefinedVariable.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/resolvePreviouslyDefinedVariable.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/resolvePreviouslyDefinedVariable.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/resolvePreviouslyDefinedVariable.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/resolvePreviouslyDefinedVariable.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/resolveSingleConstant.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/resolveSingleConstant.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/resolveSingleConstant.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/resolveSingleConstant.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/resolveTwoConstant.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/resolveTwoConstant.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/resolveTwoConstant.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/resolveTwoConstant.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/resolveTwoMemoryDefinitions.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/resolveTwoMemoryDefinitions.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/resolveTwoMemoryDefinitions.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/resolveTwoMemoryDefinitions.vadl diff --git a/vadl/test/resources/frontend-snapshots/nameresolution/typeSizeDependsOnConstant.vadl b/vadl-test/resources/frontend-snapshots/nameresolution/typeSizeDependsOnConstant.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/nameresolution/typeSizeDependsOnConstant.vadl rename to vadl-test/resources/frontend-snapshots/nameresolution/typeSizeDependsOnConstant.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/contantsWithAdvancedTypeAnnotation.vadl b/vadl-test/resources/frontend-snapshots/parser/contantsWithAdvancedTypeAnnotation.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/contantsWithAdvancedTypeAnnotation.vadl rename to vadl-test/resources/frontend-snapshots/parser/contantsWithAdvancedTypeAnnotation.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/contantsWithTypeAnnotation.vadl b/vadl-test/resources/frontend-snapshots/parser/contantsWithTypeAnnotation.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/contantsWithTypeAnnotation.vadl rename to vadl-test/resources/frontend-snapshots/parser/contantsWithTypeAnnotation.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/doubleQuotedString.vadl b/vadl-test/resources/frontend-snapshots/parser/doubleQuotedString.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/doubleQuotedString.vadl rename to vadl-test/resources/frontend-snapshots/parser/doubleQuotedString.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/emptyIsa.vadl b/vadl-test/resources/frontend-snapshots/parser/emptyIsa.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/emptyIsa.vadl rename to vadl-test/resources/frontend-snapshots/parser/emptyIsa.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/formatDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/formatDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/formatDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/formatDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/formatReferencesAreAllowed.vadl b/vadl-test/resources/frontend-snapshots/parser/formatReferencesAreAllowed.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/formatReferencesAreAllowed.vadl rename to vadl-test/resources/frontend-snapshots/parser/formatReferencesAreAllowed.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/groupCounterDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/groupCounterDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/groupCounterDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/groupCounterDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/ifstatement.vadl b/vadl-test/resources/frontend-snapshots/parser/ifstatement.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/ifstatement.vadl rename to vadl-test/resources/frontend-snapshots/parser/ifstatement.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl similarity index 85% rename from vadl/test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl index 3ba9f9645..239ef15d6 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl @@ -7,7 +7,7 @@ constant apfelstrudel = 1 as String<99> // Reported Diagnostics: // // error: Invalid Type Notation -// ╭──[test/resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl:4:30] +// ╭──[resources/frontend-snapshots/parser/invalidCastOfSizedType.vadl:4:30] // │ // 4 │ constant apfelstrudel = 1 as String<99> // │ ^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl similarity index 86% rename from vadl/test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl index 79b95ad89..42cf7ad96 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl @@ -11,7 +11,7 @@ model FoldStat (): Stat = { // Reported Diagnostics: // // error: SyntaxType Mismatch -// ╭──[test/resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl:4:24] +// ╭──[resources/frontend-snapshots/parser/invalidForallFoldModelSyntaxTypeForOperator.vadl:4:24] // │ // 4 │ model TestOP (): Ex = {42} // │ ^^ diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl similarity index 88% rename from vadl/test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl index 0af99654e..4c4fabe2b 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl @@ -15,7 +15,7 @@ model InstrBHSD (modelid: InstrWithFunctElemSize, i: InstrWithFunct): IsaDefs = // Reported Diagnostics: // // error: Invalid Model Invocation -// ╭──[test/resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl:11:35] +// ╭──[resources/frontend-snapshots/parser/invalidHigherOrderMacroWithTooManyArguments.vadl:11:35] // │ // 11 │ $modelid ($i; ElementsB; SizeB; ".B") // │ ^^^^ The model only expected 3 arguments but, you provided at least 4. diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl similarity index 95% rename from vadl/test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl index 12af4a4dc..fcf5f0d7a 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl @@ -161,28 +161,28 @@ model-type SVEWhileStatModel = (WhileRec, Id) -> Stat // Reported Diagnostics: // // error: The macro `SVEWhileCondInstr` expects 4 arguments but 1 were provided. -// ╭──[test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:147:5] +// ╭──[resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:147:5] // │ // 147 │ $SVEWhileCondInstr ($ExtInstrStr ($i; "W"); WSize ; $elements ; $elSize ; $elStr) // │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // │ // // error: SyntaxType Mismatch -// ╭──[test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:142:148] +// ╭──[resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:142:148] // │ // 142 │ $SVEWhileBaseInstr (WhileStatLSLE ; $ExtInstrIdStr($i ; LS ; "ls"); (LS ; $UMax($regSize) ; $PtrueBHSD($elSize) ; ugth ; $elements ; $elSize ; $elStr) ; $regSize) // │ ^^^^^^ // │ // Mismatched node type: Required `STR`, but got `INVALID` // error: SyntaxType Mismatch -// ╭──[test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:147:25] +// ╭──[resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:147:25] // │ // 147 │ $SVEWhileCondInstr ($ExtInstrStr ($i; "W"); WSize ; $elements ; $elSize ; $elStr) // │ ^^^^^^^^^^^^ // │ // Mismatched node type: Required `InstrWithFunct (ID,STR,EX,ID)`, but got `INVALID` // error: Parsing Error -// ╭──[test/resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:147:38] +// ╭──[resources/frontend-snapshots/parser/invalidHigherOrderModelWrongArgumentCount.vadl:147:38] // │ // 147 │ $SVEWhileCondInstr ($ExtInstrStr ($i; "W"); WSize ; $elements ; $elSize ; $elStr) // │ ^ The parser expected `)` here. diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl similarity index 88% rename from vadl/test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl index 2f1cb14e5..661e88efa 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl @@ -16,7 +16,7 @@ constant second = false + $apfelstrudel() // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl:13:19] +// ╭──[resources/frontend-snapshots/parser/invalidModelInvocationUsesRightLocation.vadl:13:19] // │ // 13 │ constant second = false + $apfelstrudel() // │ ^^^^^^^^^^^^^^^^^^^^^^^ note: The left type is Bits<1> while right is Bits<6> diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl similarity index 81% rename from vadl/test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl index cccd2f0c3..abe89b36d 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl @@ -8,7 +8,7 @@ model XYZ() = { } // Reported Diagnostics: // // error: Parsing Error -// ╭──[test/resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl:5:13] +// ╭──[resources/frontend-snapshots/parser/invalidModelMissingReturnType.vadl:5:13] // │ // 5 │ model XYZ() = { } // │ ^ The parser expected `:` here. diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl similarity index 86% rename from vadl/test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl index b20dd6872..963b8cc54 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl @@ -12,7 +12,7 @@ constant second = $apfelstrudel // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl:4:3] +// ╭──[resources/frontend-snapshots/parser/invalidModelWithErrorInModel.vadl:4:3] // │ // 4 │ false + 42 // │ ^^^^^^^^^^ note: The left type is Bits<1> while right is Bits<6> diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl index 36318418f..9fffe9ce3 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl @@ -8,7 +8,7 @@ constant x = $flo(y; z) // Reported Diagnostics: // // error: Invalid Model Invocation -// ╭──[test/resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl:5:22] +// ╭──[resources/frontend-snapshots/parser/invalidModelWithTooManyArguments.vadl:5:22] // │ // 5 │ constant x = $flo(y; z) // │ ^ Model `flo` only expected 1 arguments but, you provided at least 2. diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl similarity index 85% rename from vadl/test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl index 240ecb887..6fdc88dcf 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl @@ -10,7 +10,7 @@ instruction set architecture Sub extending Base1 = { // Reported Diagnostics: // // error: Symbol name already used: PC -// ╭──[test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl:2:21] +// ╭──[resources/frontend-snapshots/parser/invalidSymbolConflictIsaInheritance.vadl:2:21] // │ // 2 │ program counter PC: Bits<32> // │ ^^ Second definition here. diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl similarity index 85% rename from vadl/test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl index 010d91d3f..2bf1c1977 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl @@ -11,7 +11,7 @@ instruction set architecture Sub extending Base1, Base2 = { } // Reported Diagnostics: // // error: Symbol name already used: PC -// ╭──[test/resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl:6:14] +// ╭──[resources/frontend-snapshots/parser/invalidSymbolConflictIsaMultiInheritance.vadl:6:14] // │ // 2 │ program counter PC: Bits<32> // │ -- First defined here. diff --git a/vadl/test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl b/vadl-test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl rename to vadl-test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl index 47553f339..55d045369 100644 --- a/vadl/test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl +++ b/vadl-test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl @@ -7,7 +7,7 @@ const flo = 78 // Reported Diagnostics: // // error: Parsing Error -// ╭──[test/resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl:4:1] +// ╭──[resources/frontend-snapshots/parser/invalidTypoInConstantKeyword.vadl:4:1] // │ // 4 │ const flo = 78 // │ ^^^^^ this symbol not expected in vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/letStatement.vadl b/vadl-test/resources/frontend-snapshots/parser/letStatement.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/letStatement.vadl rename to vadl-test/resources/frontend-snapshots/parser/letStatement.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/letStatementWithMultipleVariables.vadl b/vadl-test/resources/frontend-snapshots/parser/letStatementWithMultipleVariables.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/letStatementWithMultipleVariables.vadl rename to vadl-test/resources/frontend-snapshots/parser/letStatementWithMultipleVariables.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/memoryDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/memoryDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/memoryDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/memoryDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/mini.vadl b/vadl-test/resources/frontend-snapshots/parser/mini.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/mini.vadl rename to vadl-test/resources/frontend-snapshots/parser/mini.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/minimalIsa.vadl b/vadl-test/resources/frontend-snapshots/parser/minimalIsa.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/minimalIsa.vadl rename to vadl-test/resources/frontend-snapshots/parser/minimalIsa.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/nestedLetStatementLetExpr.vadl b/vadl-test/resources/frontend-snapshots/parser/nestedLetStatementLetExpr.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/nestedLetStatementLetExpr.vadl rename to vadl-test/resources/frontend-snapshots/parser/nestedLetStatementLetExpr.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/noneIsValidEncodingKeyword.vadl b/vadl-test/resources/frontend-snapshots/parser/noneIsValidEncodingKeyword.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/noneIsValidEncodingKeyword.vadl rename to vadl-test/resources/frontend-snapshots/parser/noneIsValidEncodingKeyword.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/onlyParseStringUntilClosingQuote.vadl b/vadl-test/resources/frontend-snapshots/parser/onlyParseStringUntilClosingQuote.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/onlyParseStringUntilClosingQuote.vadl rename to vadl-test/resources/frontend-snapshots/parser/onlyParseStringUntilClosingQuote.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/parseUdecSdec.vadl b/vadl-test/resources/frontend-snapshots/parser/parseUdecSdec.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/parseUdecSdec.vadl rename to vadl-test/resources/frontend-snapshots/parser/parseUdecSdec.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/programCounterDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/programCounterDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/programCounterDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/programCounterDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/registerDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/registerDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/registerDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/registerDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/registerFileDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/registerFileDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/registerFileDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/registerFileDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/relocationDefinition.vadl b/vadl-test/resources/frontend-snapshots/parser/relocationDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/relocationDefinition.vadl rename to vadl-test/resources/frontend-snapshots/parser/relocationDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/singleQuotedString.vadl b/vadl-test/resources/frontend-snapshots/parser/singleQuotedString.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/singleQuotedString.vadl rename to vadl-test/resources/frontend-snapshots/parser/singleQuotedString.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/slicedFormat.vadl b/vadl-test/resources/frontend-snapshots/parser/slicedFormat.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/slicedFormat.vadl rename to vadl-test/resources/frontend-snapshots/parser/slicedFormat.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/stringEscapeSequences.vadl b/vadl-test/resources/frontend-snapshots/parser/stringEscapeSequences.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/stringEscapeSequences.vadl rename to vadl-test/resources/frontend-snapshots/parser/stringEscapeSequences.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/symbolNoConflictOnDiamondPattern.vadl b/vadl-test/resources/frontend-snapshots/parser/symbolNoConflictOnDiamondPattern.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/symbolNoConflictOnDiamondPattern.vadl rename to vadl-test/resources/frontend-snapshots/parser/symbolNoConflictOnDiamondPattern.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/typedFormat.vadl b/vadl-test/resources/frontend-snapshots/parser/typedFormat.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/typedFormat.vadl rename to vadl-test/resources/frontend-snapshots/parser/typedFormat.vadl diff --git a/vadl/test/resources/frontend-snapshots/parser/unaryOperators.vadl b/vadl-test/resources/frontend-snapshots/parser/unaryOperators.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/parser/unaryOperators.vadl rename to vadl-test/resources/frontend-snapshots/parser/unaryOperators.vadl diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl index 1ae614bdb..1577f2b9f 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl @@ -7,7 +7,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl:2:3] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidAliasRecursion.vadl:2:3] // │ // 2 │ alias register a = b // │ ^^^^^^^^^^^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl similarity index 75% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl index fe4207d70..97d419240 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl @@ -5,7 +5,7 @@ function b (x : SInt<32>) -> SInt<32> = a // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl:2:41] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidConstantFunctionRecursion.vadl:2:41] // │ // 2 │ function b (x : SInt<32>) -> SInt<32> = a // │ ^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl similarity index 72% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl index 22f803dc0..52acebf5b 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl @@ -5,7 +5,7 @@ constant b = a // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl:1:1] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidConstantRecursion.vadl:1:1] // │ // 1 │ constant a = b // │ ^^^^^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl similarity index 72% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl index 23d259f9b..e3de63fef 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl @@ -7,7 +7,7 @@ enumeration rec : SInt<32> = // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl:2:9] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidEnumerationFieldRecursion.vadl:2:9] // │ // 2 │ { a = rec::b // │ ^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl similarity index 75% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl index 4300fd481..87ff602f6 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl @@ -4,7 +4,7 @@ format rec : Bits<16> = { a : rec } // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl:1:31] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidFormatRecursion.vadl:1:31] // │ // 1 │ format rec : Bits<16> = { a : rec } // │ ^^^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl similarity index 71% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl index 669e682a5..1f1c3f370 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl @@ -5,7 +5,7 @@ constant b: Bits = 3 // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl:1:1] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidTypeSystemConstantRecursion.vadl:1:1] // │ // 1 │ constant a = b // │ ^^^^^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl similarity index 74% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl index 03237dbce..3653ece5b 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl @@ -5,7 +5,7 @@ constant y: Bits = 1 // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl:1:1] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidTypeSystemRecursion.vadl:1:1] // │ // 1 │ constant x: Bits = 1 // │ ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl similarity index 71% rename from vadl/test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl rename to vadl-test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl index f322a926c..c66623723 100644 --- a/vadl/test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl +++ b/vadl-test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl @@ -5,7 +5,7 @@ using b = a // Reported Diagnostics: // // error: Infinite Recursion -// ╭──[test/resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl:1:11] +// ╭──[resources/frontend-snapshots/recursionchecker/invalidUsingRecursion.vadl:1:11] // │ // 1 │ using a = b // │ ^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl b/vadl-test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl similarity index 87% rename from vadl/test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl index bb2ebd240..0b6fc3e52 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl @@ -17,7 +17,7 @@ assembly description AD for ABI = { // Reported Diagnostics: // // error: No RETURN_ADDRESS registers were declared but one was expected -// ╭──[test/resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl:7:1] +// ╭──[resources/frontend-snapshots/typechecker/assemblyBuiltinWithoutCast.vadl:7:1] // │ // 7 │ application binary interface ABI for ISA = {} // │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl b/vadl-test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl similarity index 90% rename from vadl/test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl index 89953aad5..9a1aa5759 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl @@ -27,7 +27,7 @@ instruction set architecture TEST = { // Reported Diagnostics: // // error: Cannot Write To Static Target -// ╭──[test/resources/frontend-snapshots/typechecker/assignToLetValue.vadl:19:7] +// ╭──[resources/frontend-snapshots/typechecker/assignToLetValue.vadl:19:7] // │ // 19 │ r(i) := 0 // │ ^^^^ This is not writable (originates from a LetStatement), but a static value. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/bidirectionalTypechecking.vadl b/vadl-test/resources/frontend-snapshots/typechecker/bidirectionalTypechecking.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/bidirectionalTypechecking.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/bidirectionalTypechecking.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/binaryOperationsImplicitCasting.vadl b/vadl-test/resources/frontend-snapshots/typechecker/binaryOperationsImplicitCasting.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/binaryOperationsImplicitCasting.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/binaryOperationsImplicitCasting.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/binaryOperationsOnConstantTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/binaryOperationsOnConstantTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/binaryOperationsOnConstantTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/binaryOperationsOnConstantTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/binaryOperationsOnDataTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/binaryOperationsOnDataTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/binaryOperationsOnDataTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/binaryOperationsOnDataTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/bitcounting.vadl b/vadl-test/resources/frontend-snapshots/typechecker/bitcounting.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/bitcounting.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/bitcounting.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/booleanConstant.vadl b/vadl-test/resources/frontend-snapshots/typechecker/booleanConstant.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/booleanConstant.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/booleanConstant.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/booleanConstantWithoutType.vadl b/vadl-test/resources/frontend-snapshots/typechecker/booleanConstantWithoutType.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/booleanConstantWithoutType.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/booleanConstantWithoutType.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/builtinOnConstantTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/builtinOnConstantTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/builtinOnConstantTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/builtinOnConstantTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/castConstants.vadl b/vadl-test/resources/frontend-snapshots/typechecker/castConstants.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/castConstants.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/castConstants.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/castEvalTruncates.vadl b/vadl-test/resources/frontend-snapshots/typechecker/castEvalTruncates.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/castEvalTruncates.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/castEvalTruncates.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/dynamicTensorSlicingForAllDo.vadl b/vadl-test/resources/frontend-snapshots/typechecker/dynamicTensorSlicingForAllDo.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/dynamicTensorSlicingForAllDo.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/dynamicTensorSlicingForAllDo.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/enumEntryReferenceBeforeDefinition.vadl b/vadl-test/resources/frontend-snapshots/typechecker/enumEntryReferenceBeforeDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/enumEntryReferenceBeforeDefinition.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/enumEntryReferenceBeforeDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/enumWithOutValues.vadl b/vadl-test/resources/frontend-snapshots/typechecker/enumWithOutValues.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/enumWithOutValues.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/enumWithOutValues.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/enumWithSomeValues.vadl b/vadl-test/resources/frontend-snapshots/typechecker/enumWithSomeValues.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/enumWithSomeValues.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/enumWithSomeValues.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/enumWithTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/enumWithTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/enumWithTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/enumWithTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/enumWithoutTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/enumWithoutTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/enumWithoutTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/enumWithoutTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/evalNestedFunctions.vadl b/vadl-test/resources/frontend-snapshots/typechecker/evalNestedFunctions.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/evalNestedFunctions.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/evalNestedFunctions.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/extendedLongMultiplyTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/extendedLongMultiplyTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/extendedLongMultiplyTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/extendedLongMultiplyTest.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/formatComplexWithRanges.vadl b/vadl-test/resources/frontend-snapshots/typechecker/formatComplexWithRanges.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/formatComplexWithRanges.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/formatComplexWithRanges.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/formatFieldAccessBeforeDeclaration.vadl b/vadl-test/resources/frontend-snapshots/typechecker/formatFieldAccessBeforeDeclaration.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/formatFieldAccessBeforeDeclaration.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/formatFieldAccessBeforeDeclaration.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/formatWithRanges.vadl b/vadl-test/resources/frontend-snapshots/typechecker/formatWithRanges.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/formatWithRanges.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/formatWithRanges.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/formatWithTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/formatWithTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/formatWithTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/formatWithTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/functionDefinition.vadl b/vadl-test/resources/frontend-snapshots/typechecker/functionDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/functionDefinition.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/functionDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/ifExprBranchesDifferentTypesInConstantTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/ifExprBranchesDifferentTypesInConstantTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/ifExprBranchesDifferentTypesInConstantTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/ifExprBranchesDifferentTypesInConstantTest.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/implicitTypeBitWidths.vadl b/vadl-test/resources/frontend-snapshots/typechecker/implicitTypeBitWidths.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/implicitTypeBitWidths.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/implicitTypeBitWidths.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/instructionEncodingAssembly.vadl b/vadl-test/resources/frontend-snapshots/typechecker/instructionEncodingAssembly.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/instructionEncodingAssembly.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/instructionEncodingAssembly.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl similarity index 78% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl index 901ee3f2e..6b4800f4f 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl @@ -4,7 +4,7 @@ constant b: Bool<1> = true // Reported Diagnostics: // // error: Invalid Type Notation -// ╭──[test/resources/frontend-snapshots/typechecker/invalidBooleanType.vadl:1:13] +// ╭──[resources/frontend-snapshots/typechecker/invalidBooleanType.vadl:1:13] // │ // 1 │ constant b: Bool<1> = true // │ ^^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl similarity index 80% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl index 5e9cee2d0..00037f874 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl @@ -11,21 +11,21 @@ function abc(x: Bits<8>) -> Bits<8> = VADL::adds(1, x) // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl:2:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl:2:14] // │ // 2 │ constant a = VADL::add(1) // │ ^^^^^^^^^^^^ Expected 2 arguments but got 1. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl:3:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl:3:14] // │ // 3 │ constant b = VADL::add(1, 2, 3) // │ ^^^^^^^^^^^^^^^^^^ Expected 2 arguments but got 3. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl:8:39] +// ╭──[resources/frontend-snapshots/typechecker/invalidBuiltitinCalls.vadl:8:39] // │ // 8 │ function abc(x: Bits<8>) -> Bits<8> = VADL::adds(1, x) // │ ^^^^^^^^^^^^^^^^ The builtin has the signature `(BitsType, BitsType) -> TupleType` but got `Bits<1>, Bits<8>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl similarity index 74% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl index b1e70a348..c5f979cdf 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl @@ -5,7 +5,7 @@ constant b: UInt = 3 // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl:2:23] +// ╭──[resources/frontend-snapshots/typechecker/invalidCastAfterEvalTruncates.vadl:2:23] // │ // 2 │ constant b: UInt = 3 // │ ^ Expected `UInt<1>` but got `Const<3>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl index 939b6f5cf..3f3d5a89a 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl @@ -5,14 +5,14 @@ constant b = forall i: Bits<2> in 0..3 fold + with (4 as Bits<32>) // Reported Diagnostics: // // error: Invalid constant value -// ╭──[test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl:1:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl:1:14] // │ // 1 │ constant a = "kuchen" // │ ^^^^^^^^ Cannot evaluate strings (yet). // │ // All constants must be able to be evaluated // error: Invalid constant value -// ╭──[test/resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl:2:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidConstNotEvaluatable.vadl:2:14] // │ // 2 │ constant b = forall i: Bits<2> in 0..3 fold + with (4 as Bits<32>) // │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The constant evaluator cannot evaluate ForallExpr. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl similarity index 70% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl index d840abfea..f61e1985a 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl @@ -4,7 +4,7 @@ constant b: Bool = 42 // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl:1:20] +// ╭──[resources/frontend-snapshots/typechecker/invalidConstantAssignmentIntToBool.vadl:1:20] // │ // 1 │ constant b: Bool = 42 // │ ^^ Expected `Bool` but got `Const<42>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl similarity index 74% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl index b032bd5f2..a51240732 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl @@ -17,42 +17,42 @@ constant invalidMinBits8: Bits<8> = -1 // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:3:37] +// ╭──[resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:3:37] // │ // 3 │ constant invalidMaxSInt8: SInt<8> = 128 // │ ^^^ Expected `SInt<8>` but got `Const<128>`. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:4:37] +// ╭──[resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:4:37] // │ // 4 │ constant invalidMinSInt8: SInt<8> = -129 // │ ^^^^ Expected `SInt<8>` but got `Const<-129>`. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:8:37] +// ╭──[resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:8:37] // │ // 8 │ constant invalidMaxUInt8: UInt<8> = 256 // │ ^^^ Expected `UInt<8>` but got `Const<256>`. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:9:37] +// ╭──[resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:9:37] // │ // 9 │ constant invalidMinUInt8: UInt<8> = -1 // │ ^^ Expected `UInt<8>` but got `Const<-1>`. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:13:37] +// ╭──[resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:13:37] // │ // 13 │ constant invalidMaxBits8: Bits<8> = 256 // │ ^^^ Expected `Bits<8>` but got `Const<256>`. // │ // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:14:37] +// ╭──[resources/frontend-snapshots/typechecker/invalidDataTypeLimits.vadl:14:37] // │ // 14 │ constant invalidMinBits8: Bits<8> = -1 // │ ^^ Expected `Bits<8>` but got `Const<-1>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl similarity index 72% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl index 43b611d84..a8569be88 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl @@ -4,7 +4,7 @@ constant b: SInt<3> = 8 // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl:1:23] +// ╭──[resources/frontend-snapshots/typechecker/invalidDeclaredSIntTooNarrow.vadl:1:23] // │ // 1 │ constant b: SInt<3> = 8 // │ ^ Expected `SInt<3>` but got `Const<8>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl similarity index 76% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl index c94f4b6a4..31d5259db 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl @@ -8,7 +8,7 @@ enumeration ENUM: Bits<2> = // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl:3:7] +// ╭──[resources/frontend-snapshots/typechecker/invalidEnumWithTypes.vadl:3:7] // │ // 3 │ , B = 0b0111111 // │ ^^^^^^^^^ Expected `Bits<2>` but got `Bits<6>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl similarity index 68% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl index cec656fed..b95798589 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl @@ -13,70 +13,70 @@ constant j = VADL::umods(10, 0) // Reported Diagnostics: // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:1:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:1:14] // │ // 1 │ constant a = 10 / 0 // │ ^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:2:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:2:14] // │ // 2 │ constant b = 10 % 0 // │ ^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:3:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:3:14] // │ // 3 │ constant c = VADL::sdiv(10, 0) // │ ^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:4:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:4:14] // │ // 4 │ constant d = VADL::udiv(10, 0) // │ ^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:5:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:5:14] // │ // 5 │ constant e = VADL::sdivs(10, 0) // │ ^^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:6:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:6:14] // │ // 6 │ constant f = VADL::udivs(10, 0) // │ ^^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:7:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:7:14] // │ // 7 │ constant g = VADL::smod(10, 0) // │ ^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:8:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:8:14] // │ // 8 │ constant h = VADL::umod(10, 0) // │ ^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:9:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:9:14] // │ // 9 │ constant i = VADL::smods(10, 0) // │ ^^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. // │ // // error: Constant value required -// ╭──[test/resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:10:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidEvalDivisionByZero.vadl:10:14] // │ // 10 │ constant j = VADL::umods(10, 0) // │ ^^^^^^^^^^^^^^^^^^ Division by zero cannot be computed. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl similarity index 81% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl index a84276d30..36795948b 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl @@ -9,7 +9,7 @@ instruction set architecture TEST = { // Reported Diagnostics: // // error: Invalid Range -// ╭──[test/resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl:3:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidFormatOutOfBoundsRange.vadl:3:14] // │ // 3 │ { field [32..0] // wrong higher offset // │ ^^^^^ Provided range `32..0` out of bounds for available range `31..0` diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl similarity index 78% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl index b537bd3d0..901609de0 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl @@ -7,7 +7,7 @@ format f : Bits<8> = // Reported Diagnostics: // // error: Invalid Format -// ╭──[test/resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl:1:1] +// ╭──[resources/frontend-snapshots/typechecker/invalidFormatOverusedBitsWithTypes.vadl:1:1] // │ // 1 │> format f : Bits<8> = // 2 │> { first: Bits<6> diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl similarity index 78% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl index ec46760b2..3916c4d18 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl @@ -7,7 +7,7 @@ format f : Bits<8> = // Reported Diagnostics: // // error: Invalid Format -// ╭──[test/resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl:1:1] +// ╭──[resources/frontend-snapshots/typechecker/invalidFormatUnusedBitsWithTypes.vadl:1:1] // │ // 1 │> format f : Bits<8> = // 2 │> { first: Bits<3> diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl similarity index 83% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl index 32eb60c1c..6f5d61b72 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl @@ -10,7 +10,7 @@ function flo(x: Bits<8>) -> Bits<8> = x + 1 // Reported Diagnostics: // // error: Invalid Function Call -// ╭──[test/resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl:5:26] +// ╭──[resources/frontend-snapshots/typechecker/invalidFunctionCallTooFewArgsInTypeLiteral.vadl:5:26] // │ // 5 │ constant abc = 7 as Bits // │ ^^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl similarity index 81% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl index 32d186da2..203c0d8f9 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl @@ -4,7 +4,7 @@ function addOne(n: SInt<8>) -> SInt<8> = false // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl:1:42] +// ╭──[resources/frontend-snapshots/typechecker/invalidFunctionDefinitionWrongReturnType.vadl:1:42] // │ // 1 │ function addOne(n: SInt<8>) -> SInt<8> = false // │ ------- Return type defined here as `SInt<8>` diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl index 98b9e321b..66c419798 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl @@ -4,7 +4,7 @@ constant x = if 4 then 3 as Bits<32> else 4 as Bits<32> // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl:1:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidIfExprConditionNoBoolTest.vadl:1:14] // │ // 1 │ constant x = if 4 then 3 as Bits<32> else 4 as Bits<32> // │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Expected `Bool` but got `Bits<3>`. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl similarity index 79% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl index 5c4948f9a..245b69efc 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl @@ -9,7 +9,7 @@ function x(n: SInt<8>) -> Bits<64> = (match n with // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl:3:8] +// ╭──[resources/frontend-snapshots/typechecker/invalidMatchExprBranchesDifferentTypeInFunction.vadl:3:8] // │ // 3 │ , 2 => 4 as Bits<32> // │ ^^^^^^^^^ note: All previous branches were of type `Bits<16>`, but this is `Bits<32>` diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl similarity index 80% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl index f7f8b8a03..b0d9296f3 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl @@ -9,7 +9,7 @@ constant x = match 4 as Bits<32> with // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl:3:3] +// ╭──[resources/frontend-snapshots/typechecker/invalidMatchExprPatternDifferentType.vadl:3:3] // │ // 3 │ , 2 as Bits<8> => 4 as Bits<16> // │ ^^^^^^^^^ Expected `Bits<32>`, but got `Bits<8>` diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl similarity index 73% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl index d6d5c7446..74dfb2fc2 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl @@ -4,7 +4,7 @@ constant i = -true // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl:1:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidMinusOnBoolean.vadl:1:14] // │ // 1 │ constant i = -true // │ ^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl index f53ef72ae..9bbfac713 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl @@ -4,7 +4,7 @@ constant b = !5 // Reported Diagnostics: // // error: Type Mismatch: expected `Bool`, got `Const<5>` -// ╭──[test/resources/frontend-snapshots/typechecker/invalidNegateInt.vadl:1:14] +// ╭──[resources/frontend-snapshots/typechecker/invalidNegateInt.vadl:1:14] // │ // 1 │ constant b = !5 // │ ^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl similarity index 87% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl index 4dacb1684..823642216 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl @@ -14,7 +14,7 @@ instruction set architecture ISA = { // Reported Diagnostics: // // error: Type Mismatch -// ╭──[test/resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl:8:28] +// ╭──[resources/frontend-snapshots/typechecker/invalidShiftLeftConstRightExplicit.vadl:8:28] // │ // 8 │ instruction I: T = A := 6 >> a // │ ^^^^^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidSintType.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidSintType.vadl similarity index 80% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidSintType.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidSintType.vadl index b2413d25f..5de746054 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidSintType.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidSintType.vadl @@ -4,7 +4,7 @@ constant i: SInt = 42 // Reported Diagnostics: // // error: Invalid Type Notation -// ╭──[test/resources/frontend-snapshots/typechecker/invalidSintType.vadl:1:13] +// ╭──[resources/frontend-snapshots/typechecker/invalidSintType.vadl:1:13] // │ // 1 │ constant i: SInt = 42 // │ ^^^^ diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl similarity index 77% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl index dc80a3d89..3039e291f 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl @@ -6,7 +6,7 @@ constant a: Bits2 = 0b111 // Reported Diagnostics: // // error: Unknown Type `Bits2` -// ╭──[test/resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl:3:13] +// ╭──[resources/frontend-snapshots/typechecker/invalidTypoInCustomType.vadl:3:13] // │ // 3 │ constant a: Bits2 = 0b111 // │ ^^^^^ No type with that name exists. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl similarity index 70% rename from vadl/test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl index 8226a12b7..ab5a46ee8 100644 --- a/vadl/test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl +++ b/vadl-test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl @@ -13,28 +13,28 @@ instruction set architecture TEST = { // Reported Diagnostics: // // error: Symbol name already used: Instruction -// ╭──[test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:2:7] +// ╭──[resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:2:7] // │ // 2 │ using Instruction = Bits<8> // │ ^^^^^^^^^^^ This name is already claimed by a built-in type. // │ // // error: Symbol name already used: SInt -// ╭──[test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:3:7] +// ╭──[resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:3:7] // │ // 3 │ using SInt = Bits<8> // │ ^^^^ This name is already claimed by a built-in type. // │ // // error: Symbol name already used: Bool -// ╭──[test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:4:7] +// ╭──[resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:4:7] // │ // 4 │ using Bool = Bits<1> // │ ^^^^ This name is already claimed by a built-in type. // │ // // error: Symbol name already used: FetchResult -// ╭──[test/resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:7:10] +// ╭──[resources/frontend-snapshots/typechecker/invalidUsingRedeclaresBuiltinTypes.vadl:7:10] // │ // 7 │ format FetchResult: Bits<32> = // │ ^^^^^^^^^^^ This name is already claimed by a built-in type. diff --git a/vadl/test/resources/frontend-snapshots/typechecker/matchExprBranchesDifferentTypeInConstantTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/matchExprBranchesDifferentTypeInConstantTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/matchExprBranchesDifferentTypeInConstantTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/matchExprBranchesDifferentTypeInConstantTest.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/multipleUsingTypeDefinition.vadl b/vadl-test/resources/frontend-snapshots/typechecker/multipleUsingTypeDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/multipleUsingTypeDefinition.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/multipleUsingTypeDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/multiplierWithConstantBinaryExpression.vadl b/vadl-test/resources/frontend-snapshots/typechecker/multiplierWithConstantBinaryExpression.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/multiplierWithConstantBinaryExpression.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/multiplierWithConstantBinaryExpression.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/signedTensorValuesTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/signedTensorValuesTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/signedTensorValuesTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/signedTensorValuesTest.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/sintConstant.vadl b/vadl-test/resources/frontend-snapshots/typechecker/sintConstant.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/sintConstant.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/sintConstant.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/tensorValuesTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/tensorValuesTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/tensorValuesTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/tensorValuesTest.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/tupleUnpackingLetExpr.vadl b/vadl-test/resources/frontend-snapshots/typechecker/tupleUnpackingLetExpr.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/tupleUnpackingLetExpr.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/tupleUnpackingLetExpr.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/tupleUnpackingLetStmt.vadl b/vadl-test/resources/frontend-snapshots/typechecker/tupleUnpackingLetStmt.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/tupleUnpackingLetStmt.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/tupleUnpackingLetStmt.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/typeFromVariable.vadl b/vadl-test/resources/frontend-snapshots/typechecker/typeFromVariable.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/typeFromVariable.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/typeFromVariable.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/typeSizeDependsOnConstant.vadl b/vadl-test/resources/frontend-snapshots/typechecker/typeSizeDependsOnConstant.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/typeSizeDependsOnConstant.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/typeSizeDependsOnConstant.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/unaryMinusIntExpression.vadl b/vadl-test/resources/frontend-snapshots/typechecker/unaryMinusIntExpression.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/unaryMinusIntExpression.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/unaryMinusIntExpression.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/unaryMinusMultipleIntExpression.vadl b/vadl-test/resources/frontend-snapshots/typechecker/unaryMinusMultipleIntExpression.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/unaryMinusMultipleIntExpression.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/unaryMinusMultipleIntExpression.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/unaryNegateBool.vadl b/vadl-test/resources/frontend-snapshots/typechecker/unaryNegateBool.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/unaryNegateBool.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/unaryNegateBool.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/unaryNegateMultipleBool.vadl b/vadl-test/resources/frontend-snapshots/typechecker/unaryNegateMultipleBool.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/unaryNegateMultipleBool.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/unaryNegateMultipleBool.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/unaryOperationsOnConcreteTypes.vadl b/vadl-test/resources/frontend-snapshots/typechecker/unaryOperationsOnConcreteTypes.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/unaryOperationsOnConcreteTypes.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/unaryOperationsOnConcreteTypes.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/usingTypeDefinition.vadl b/vadl-test/resources/frontend-snapshots/typechecker/usingTypeDefinition.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/usingTypeDefinition.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/usingTypeDefinition.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/usingTypeDefinitionAfterUsage.vadl b/vadl-test/resources/frontend-snapshots/typechecker/usingTypeDefinitionAfterUsage.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/usingTypeDefinitionAfterUsage.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/usingTypeDefinitionAfterUsage.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/validIfExprTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/validIfExprTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/validIfExprTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/validIfExprTest.vadl diff --git a/vadl/test/resources/frontend-snapshots/typechecker/validMatchExprTest.vadl b/vadl-test/resources/frontend-snapshots/typechecker/validMatchExprTest.vadl similarity index 100% rename from vadl/test/resources/frontend-snapshots/typechecker/validMatchExprTest.vadl rename to vadl-test/resources/frontend-snapshots/typechecker/validMatchExprTest.vadl diff --git a/vadl/test/resources/images/encodingCodeGeneratorCppVerification/Dockerfile b/vadl-test/resources/images/encodingCodeGeneratorCppVerification/Dockerfile similarity index 100% rename from vadl/test/resources/images/encodingCodeGeneratorCppVerification/Dockerfile rename to vadl-test/resources/images/encodingCodeGeneratorCppVerification/Dockerfile diff --git a/vadl/test/resources/images/encodingCodeGeneratorCppVerification/run.sh b/vadl-test/resources/images/encodingCodeGeneratorCppVerification/run.sh similarity index 100% rename from vadl/test/resources/images/encodingCodeGeneratorCppVerification/run.sh rename to vadl-test/resources/images/encodingCodeGeneratorCppVerification/run.sh diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/Dockerfile b/vadl-test/resources/images/lcb_execution_test_aarch64temp/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/Dockerfile b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/compile.sh b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/compile.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/compile.sh rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/compile.sh diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/filecheck.sh b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/filecheck.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/filecheck.sh rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/filecheck.sh diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/init.S b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/init.S similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/init.S rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/init.S diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/link.ld b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/link.ld similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/link.ld rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/helper/link.ld diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/lcb_wrapper.sh b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/lcb_wrapper.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/lcb_wrapper.sh rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/lcb_wrapper.sh diff --git a/vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/llvm.sh b/vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/llvm.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_aarch64temp/base_image/llvm.sh rename to vadl-test/resources/images/lcb_execution_test_aarch64temp/base_image/llvm.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/Dockerfile b/vadl-test/resources/images/lcb_execution_test_rv32im/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_rv32im/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/Dockerfile b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/asm.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/asm.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/asm.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/asm.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/compare.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/compare.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/compare.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/compare.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/compile.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/compile.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/compile.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/compile.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/filecheck.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/filecheck.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/filecheck.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/filecheck.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/helper/init.S b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/helper/init.S similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/helper/init.S rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/helper/init.S diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/helper/link.ld b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/helper/link.ld similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/helper/link.ld rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/helper/link.ld diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/lcb_integration.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/lcb_integration.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/lcb_integration.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/lcb_integration.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/lcb_wrapper.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/lcb_wrapper.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/lcb_wrapper.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/lcb_wrapper.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/llvm.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/llvm.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/llvm.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/llvm.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv32im/base_image/upstream.sh b/vadl-test/resources/images/lcb_execution_test_rv32im/base_image/upstream.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv32im/base_image/upstream.sh rename to vadl-test/resources/images/lcb_execution_test_rv32im/base_image/upstream.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/Dockerfile b/vadl-test/resources/images/lcb_execution_test_rv64im/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_rv64im/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/Dockerfile b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/compare.sh b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/compare.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/compare.sh rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/compare.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/compile.sh b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/compile.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/compile.sh rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/compile.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/filecheck.sh b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/filecheck.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/filecheck.sh rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/filecheck.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/helper/init.S b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/helper/init.S similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/helper/init.S rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/helper/init.S diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/helper/link.ld b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/helper/link.ld similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/helper/link.ld rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/helper/link.ld diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/lcb_wrapper.sh b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/lcb_wrapper.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/lcb_wrapper.sh rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/lcb_wrapper.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/llvm.sh b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/llvm.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/llvm.sh rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/llvm.sh diff --git a/vadl/test/resources/images/lcb_execution_test_rv64im/base_image/upstream.sh b/vadl-test/resources/images/lcb_execution_test_rv64im/base_image/upstream.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_rv64im/base_image/upstream.sh rename to vadl-test/resources/images/lcb_execution_test_rv64im/base_image/upstream.sh diff --git a/vadl/test/resources/images/lcb_execution_test_varrisc/Dockerfile b/vadl-test/resources/images/lcb_execution_test_varrisc/Dockerfile similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_varrisc/Dockerfile rename to vadl-test/resources/images/lcb_execution_test_varrisc/Dockerfile diff --git a/vadl/test/resources/images/lcb_execution_test_varrisc/filecheck.sh b/vadl-test/resources/images/lcb_execution_test_varrisc/filecheck.sh similarity index 100% rename from vadl/test/resources/images/lcb_execution_test_varrisc/filecheck.sh rename to vadl-test/resources/images/lcb_execution_test_varrisc/filecheck.sh diff --git a/vadl/test/resources/junit-platform.properties b/vadl-test/resources/junit-platform.properties similarity index 100% rename from vadl/test/resources/junit-platform.properties rename to vadl-test/resources/junit-platform.properties diff --git a/vadl/test/resources/llvm/riscv/.gitignore b/vadl-test/resources/llvm/riscv/.gitignore similarity index 100% rename from vadl/test/resources/llvm/riscv/.gitignore rename to vadl-test/resources/llvm/riscv/.gitignore diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/BType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/BType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/BType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/BType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/IShftType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/IShftType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/IShftType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/IShftType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/IType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/IType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/IType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/IType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/JType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/JType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/JType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/JType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/LType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/LType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/LType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/LType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/PseudoInstructions.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/PseudoInstructions.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/PseudoInstructions.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/PseudoInstructions.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/RType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/RType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/RType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/RType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/SType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/SType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/SType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/SType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/UType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/UType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/codeemitter/UType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/codeemitter/UType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/BType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/BType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/BType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/BType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/IShftType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/IShftType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/IShftType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/IShftType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/IType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/IType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/IType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/IType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/JType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/JType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/JType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/JType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/LType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/LType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/LType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/LType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/PseudoInstructions.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/PseudoInstructions.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/PseudoInstructions.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/PseudoInstructions.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/RType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/RType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/RType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/RType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/SType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/SType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/SType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/SType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/parser/UType.s b/vadl-test/resources/llvm/riscv/asm/rv32im/parser/UType.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/parser/UType.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/parser/UType.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/add.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/add.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/add.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/add.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/geq.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/geq.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/geq.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/geq.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/global.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/global.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/global.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/global.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/gt.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/gt.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/gt.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/gt.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call_min.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call_min.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call_min.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/indirect_call_min.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant_compare.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant_compare.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant_compare.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/large_constant_compare.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/mul.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/mul.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/mul.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/mul.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/mulu64.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/mulu64.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/mulu64.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/mulu64.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/rem.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/rem.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/rem.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/rem.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/simple.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/simple.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/simple.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/simple.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/sub.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/sub.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/sub.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/sub.s diff --git a/vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/switch.s b/vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/switch.s similarity index 100% rename from vadl/test/resources/llvm/riscv/asm/rv32im/qemu_asm/switch.s rename to vadl-test/resources/llvm/riscv/asm/rv32im/qemu_asm/switch.s diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/alu64.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/alu64.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/alu64.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/alu64.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/and.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/and.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/and.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/and.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/builtins.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/builtins.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/builtins.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/builtins.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/imm.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/imm.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/imm.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/imm.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/indirectbr.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/indirectbr.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/indirectbr.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/indirectbr.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/large_stack.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/large_stack.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/large_stack.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/large_stack.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/mul.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/mul.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/mul.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/mul.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/pic.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/pic.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O0/pic.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O0/pic.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/alu64.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/alu64.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/alu64.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/alu64.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/analyze-branch.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/analyze-branch.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/analyze-branch.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/analyze-branch.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/and.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/and.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/and.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/and.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/branch-opt.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/branch-opt.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/branch-opt.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/branch-opt.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/calling-conv.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/calling-conv.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/calling-conv.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/calling-conv.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/cmp-bool.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/cmp-bool.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/cmp-bool.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/cmp-bool.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/fast-cc.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/fast-cc.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/fast-cc.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/fast-cc.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/frame-setup.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/frame-setup.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/frame-setup.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/frame-setup.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/global_const_loop.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/global_const_loop.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/global_const_loop.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/global_const_loop.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/imm.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/imm.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/imm.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/imm.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/indirectbr.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/indirectbr.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/indirectbr.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/indirectbr.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/large_stack.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/large_stack.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/large_stack.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/large_stack.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/mul.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/mul.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/mul.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/mul.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/pic.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/pic.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/pic.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/pic.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/rotl-rotr.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/rotl-rotr.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/rotl-rotr.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/rotl-rotr.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/select-cc.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/select-cc.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/select-cc.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/select-cc.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/sext-zext-trunc.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/sext-zext-trunc.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv32im/O3/sext-zext-trunc.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv32im/O3/sext-zext-trunc.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/alu64.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/alu64.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/alu64.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/alu64.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/and.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/and.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/and.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/and.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/imm.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/imm.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/imm.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/imm.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/indirectbr.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/indirectbr.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/indirectbr.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/indirectbr.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/large_stack.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/large_stack.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/large_stack.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/large_stack.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/mul.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/mul.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/mul.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/mul.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/pic.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/pic.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/pic.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/pic.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/static_global_var.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/static_global_var.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O0/static_global_var.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O0/static_global_var.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/alu64.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/alu64.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/alu64.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/alu64.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/analyze-branch.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/analyze-branch.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/analyze-branch.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/analyze-branch.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/and.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/and.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/and.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/and.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/branch-opt.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/branch-opt.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/branch-opt.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/branch-opt.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/calling-conv.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/calling-conv.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/calling-conv.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/calling-conv.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/cmp-bool.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/cmp-bool.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/cmp-bool.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/cmp-bool.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/fast-cc.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/fast-cc.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/fast-cc.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/fast-cc.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/frame-setup.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/frame-setup.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/frame-setup.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/frame-setup.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/global_const_loop.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/global_const_loop.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/global_const_loop.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/global_const_loop.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/imm.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/imm.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/imm.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/imm.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/indirectbr.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/indirectbr.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/indirectbr.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/indirectbr.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/large_stack.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/large_stack.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/large_stack.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/large_stack.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/mul.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/mul.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/mul.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/mul.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/pic.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/pic.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/pic.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/pic.ll diff --git a/vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/rotl-rotr.ll b/vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/rotl-rotr.ll similarity index 100% rename from vadl/test/resources/llvm/riscv/llvmIR/rv64im/O3/rotl-rotr.ll rename to vadl-test/resources/llvm/riscv/llvmIR/rv64im/O3/rotl-rotr.ll diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/binaryFirst.c b/vadl-test/resources/llvm/riscv/qemu_libc/binaryFirst.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/binaryFirst.c rename to vadl-test/resources/llvm/riscv/qemu_libc/binaryFirst.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/binaryLast.c b/vadl-test/resources/llvm/riscv/qemu_libc/binaryLast.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/binaryLast.c rename to vadl-test/resources/llvm/riscv/qemu_libc/binaryLast.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/calc_coef.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/calc_coef.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/calc_coef.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/calc_coef.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/calc_mean_sum.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/calc_mean_sum.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/calc_mean_sum.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/calc_mean_sum.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/double_zero_check.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/double_zero_check.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/double_zero_check.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/double_zero_check.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/float_add_cmp.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/float_add_cmp.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/float_add_cmp.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/float_add_cmp.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/minver_min.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/minver_min.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/minver_min.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/minver_min.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/minver_minver.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/minver_minver.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/minver_minver.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/minver_minver.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/minver_mmul.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/minver_mmul.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/minver_mmul.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/minver_mmul.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/fp/simple_minver.c b/vadl-test/resources/llvm/riscv/qemu_libc/fp/simple_minver.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/fp/simple_minver.c rename to vadl-test/resources/llvm/riscv/qemu_libc/fp/simple_minver.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/insertionSort.c b/vadl-test/resources/llvm/riscv/qemu_libc/insertionSort.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/insertionSort.c rename to vadl-test/resources/llvm/riscv/qemu_libc/insertionSort.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/rotate.c b/vadl-test/resources/llvm/riscv/qemu_libc/rotate.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/rotate.c rename to vadl-test/resources/llvm/riscv/qemu_libc/rotate.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/rv64im/has_LP64macro.c b/vadl-test/resources/llvm/riscv/qemu_libc/rv64im/has_LP64macro.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/rv64im/has_LP64macro.c rename to vadl-test/resources/llvm/riscv/qemu_libc/rv64im/has_LP64macro.c diff --git a/vadl/test/resources/llvm/riscv/qemu_libc/rv64im/has__LP64__macro.c b/vadl-test/resources/llvm/riscv/qemu_libc/rv64im/has__LP64__macro.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_libc/rv64im/has__LP64__macro.c rename to vadl-test/resources/llvm/riscv/qemu_libc/rv64im/has__LP64__macro.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/add.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/add.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/add.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/add.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/geq.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/geq.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/geq.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/geq.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/global.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/global.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/global.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/global.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/gt.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/gt.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/gt.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/gt.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/indirect_call.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/indirect_call.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/indirect_call.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/indirect_call.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/indirect_call_min.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/indirect_call_min.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/indirect_call_min.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/indirect_call_min.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/large_constant.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/large_constant.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/large_constant.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/large_constant.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/large_constant_with_compare.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/large_constant_with_compare.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/large_constant_with_compare.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/large_constant_with_compare.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/leq.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/leq.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/leq.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/leq.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/lt.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/lt.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/lt.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/lt.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/mul.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/mul.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/mul.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/mul.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/mulu64.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/mulu64.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/mulu64.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/mulu64.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/rem.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/rem.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/rem.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/rem.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_add.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_add.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_add.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_add.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_load.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_load.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_load.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_load.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_mul.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_mul.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_mul.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_mul.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_store.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_store.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_store.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_store.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_sub.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_sub.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_sub.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/rv32im/builtin_sub.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/simple.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/simple.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/simple.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/simple.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/sub.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/sub.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/sub.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/sub.c diff --git a/vadl/test/resources/llvm/riscv/qemu_nolibc/switch.c b/vadl-test/resources/llvm/riscv/qemu_nolibc/switch.c similarity index 100% rename from vadl/test/resources/llvm/riscv/qemu_nolibc/switch.c rename to vadl-test/resources/llvm/riscv/qemu_nolibc/switch.c diff --git a/vadl/test/resources/llvm/varrisc/asm/MachineInstructions.s b/vadl-test/resources/llvm/varrisc/asm/MachineInstructions.s similarity index 100% rename from vadl/test/resources/llvm/varrisc/asm/MachineInstructions.s rename to vadl-test/resources/llvm/varrisc/asm/MachineInstructions.s diff --git a/vadl/test/resources/llvm/varrisc/asm/PseudoInstructions.s b/vadl-test/resources/llvm/varrisc/asm/PseudoInstructions.s similarity index 100% rename from vadl/test/resources/llvm/varrisc/asm/PseudoInstructions.s rename to vadl-test/resources/llvm/varrisc/asm/PseudoInstructions.s diff --git a/vadl/test/resources/llvm/varrisc/asm_no_suffix/MachineInstructions.s b/vadl-test/resources/llvm/varrisc/asm_no_suffix/MachineInstructions.s similarity index 100% rename from vadl/test/resources/llvm/varrisc/asm_no_suffix/MachineInstructions.s rename to vadl-test/resources/llvm/varrisc/asm_no_suffix/MachineInstructions.s diff --git a/vadl/test/resources/llvm/varrisc/asm_no_suffix/PseudoInstructions.s b/vadl-test/resources/llvm/varrisc/asm_no_suffix/PseudoInstructions.s similarity index 100% rename from vadl/test/resources/llvm/varrisc/asm_no_suffix/PseudoInstructions.s rename to vadl-test/resources/llvm/varrisc/asm_no_suffix/PseudoInstructions.s diff --git a/vadl/test/resources/logback-test.xml b/vadl-test/resources/logback-test.xml similarity index 100% rename from vadl/test/resources/logback-test.xml rename to vadl-test/resources/logback-test.xml diff --git a/vadl/test/resources/macros/.gitignore b/vadl-test/resources/macros/.gitignore similarity index 98% rename from vadl/test/resources/macros/.gitignore rename to vadl-test/resources/macros/.gitignore index 467fe879d..062ab88a3 100644 --- a/vadl/test/resources/macros/.gitignore +++ b/vadl-test/resources/macros/.gitignore @@ -1,3 +1,3 @@ -# Generated by the unit tests if there is a mismatch between expected and actual dumps. -# These files should never be checked in, as they indicate a test error. +# Generated by the unit tests if there is a mismatch between expected and actual dumps. +# These files should never be checked in, as they indicate a test error. *.actual.expanded.vadl \ No newline at end of file diff --git a/vadl/test/resources/macros/hexagon.expanded.vadl b/vadl-test/resources/macros/hexagon.expanded.vadl similarity index 100% rename from vadl/test/resources/macros/hexagon.expanded.vadl rename to vadl-test/resources/macros/hexagon.expanded.vadl diff --git a/vadl/test/resources/macros/hexagon.vadl b/vadl-test/resources/macros/hexagon.vadl similarity index 100% rename from vadl/test/resources/macros/hexagon.vadl rename to vadl-test/resources/macros/hexagon.vadl diff --git a/vadl/test/resources/scripts/iss_qemu/.gitignore b/vadl-test/resources/scripts/iss_qemu/.gitignore similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/.gitignore rename to vadl-test/resources/scripts/iss_qemu/.gitignore diff --git a/vadl/test/resources/scripts/iss_qemu/compiler.py b/vadl-test/resources/scripts/iss_qemu/compiler.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/compiler.py rename to vadl-test/resources/scripts/iss_qemu/compiler.py diff --git a/vadl/test/resources/scripts/iss_qemu/compilers/aarch64_compiler.py b/vadl-test/resources/scripts/iss_qemu/compilers/aarch64_compiler.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/compilers/aarch64_compiler.py rename to vadl-test/resources/scripts/iss_qemu/compilers/aarch64_compiler.py diff --git a/vadl/test/resources/scripts/iss_qemu/compilers/riscv_compiler.py b/vadl-test/resources/scripts/iss_qemu/compilers/riscv_compiler.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/compilers/riscv_compiler.py rename to vadl-test/resources/scripts/iss_qemu/compilers/riscv_compiler.py diff --git a/vadl/test/resources/scripts/iss_qemu/config_loader.py b/vadl-test/resources/scripts/iss_qemu/config_loader.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/config_loader.py rename to vadl-test/resources/scripts/iss_qemu/config_loader.py diff --git a/vadl/test/resources/scripts/iss_qemu/main.py b/vadl-test/resources/scripts/iss_qemu/main.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/main.py rename to vadl-test/resources/scripts/iss_qemu/main.py diff --git a/vadl/test/resources/scripts/iss_qemu/models.py b/vadl-test/resources/scripts/iss_qemu/models.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/models.py rename to vadl-test/resources/scripts/iss_qemu/models.py diff --git a/vadl/test/resources/scripts/iss_qemu/qemu_executer.py b/vadl-test/resources/scripts/iss_qemu/qemu_executer.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/qemu_executer.py rename to vadl-test/resources/scripts/iss_qemu/qemu_executer.py diff --git a/vadl/test/resources/scripts/iss_qemu/requirements.txt b/vadl-test/resources/scripts/iss_qemu/requirements.txt similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/requirements.txt rename to vadl-test/resources/scripts/iss_qemu/requirements.txt diff --git a/vadl/test/resources/scripts/iss_qemu/test_case_plugin_executor.py b/vadl-test/resources/scripts/iss_qemu/test_case_plugin_executor.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/test_case_plugin_executor.py rename to vadl-test/resources/scripts/iss_qemu/test_case_plugin_executor.py diff --git a/vadl/test/resources/scripts/iss_qemu/utils.py b/vadl-test/resources/scripts/iss_qemu/utils.py similarity index 100% rename from vadl/test/resources/scripts/iss_qemu/utils.py rename to vadl-test/resources/scripts/iss_qemu/utils.py diff --git a/vadl/test/resources/scripts/rtl/test.sh b/vadl-test/resources/scripts/rtl/test.sh similarity index 100% rename from vadl/test/resources/scripts/rtl/test.sh rename to vadl-test/resources/scripts/rtl/test.sh diff --git a/vadl/test/resources/snapshots/aarch64/InstrInfoTableGen.td b/vadl-test/resources/snapshots/aarch64/InstrInfoTableGen.td similarity index 100% rename from vadl/test/resources/snapshots/aarch64/InstrInfoTableGen.td rename to vadl-test/resources/snapshots/aarch64/InstrInfoTableGen.td diff --git a/vadl/test/resources/snapshots/aarch64/RegisterInfo.cpp b/vadl-test/resources/snapshots/aarch64/RegisterInfo.cpp similarity index 100% rename from vadl/test/resources/snapshots/aarch64/RegisterInfo.cpp rename to vadl-test/resources/snapshots/aarch64/RegisterInfo.cpp diff --git a/vadl/test/resources/snapshots/aarch64/RegisterInfo.td b/vadl-test/resources/snapshots/aarch64/RegisterInfo.td similarity index 100% rename from vadl/test/resources/snapshots/aarch64/RegisterInfo.td rename to vadl-test/resources/snapshots/aarch64/RegisterInfo.td diff --git a/vadl/test/resources/snapshots/rv64im/InstrInfoTableGen.td b/vadl-test/resources/snapshots/rv64im/InstrInfoTableGen.td similarity index 100% rename from vadl/test/resources/snapshots/rv64im/InstrInfoTableGen.td rename to vadl-test/resources/snapshots/rv64im/InstrInfoTableGen.td diff --git a/vadl/test/resources/testFiles/mini.vadl b/vadl-test/resources/testFiles/mini.vadl similarity index 100% rename from vadl/test/resources/testFiles/mini.vadl rename to vadl-test/resources/testFiles/mini.vadl diff --git a/vadl/test/resources/testSource/ast/riscv/rv3264im.vadl b/vadl-test/resources/testSource/ast/riscv/rv3264im.vadl similarity index 100% rename from vadl/test/resources/testSource/ast/riscv/rv3264im.vadl rename to vadl-test/resources/testSource/ast/riscv/rv3264im.vadl diff --git a/vadl/test/resources/testSource/ast/riscv/rv32i.vadl b/vadl-test/resources/testSource/ast/riscv/rv32i.vadl similarity index 100% rename from vadl/test/resources/testSource/ast/riscv/rv32i.vadl rename to vadl-test/resources/testSource/ast/riscv/rv32i.vadl diff --git a/vadl/test/resources/testSource/ast/riscv/rv32im.vadl b/vadl-test/resources/testSource/ast/riscv/rv32im.vadl similarity index 100% rename from vadl/test/resources/testSource/ast/riscv/rv32im.vadl rename to vadl-test/resources/testSource/ast/riscv/rv32im.vadl diff --git a/vadl/test/resources/testSource/ast/riscv/rv64i.vadl b/vadl-test/resources/testSource/ast/riscv/rv64i.vadl similarity index 100% rename from vadl/test/resources/testSource/ast/riscv/rv64i.vadl rename to vadl-test/resources/testSource/ast/riscv/rv64i.vadl diff --git a/vadl/test/resources/testSource/ast/riscv/rv64im.vadl b/vadl-test/resources/testSource/ast/riscv/rv64im.vadl similarity index 100% rename from vadl/test/resources/testSource/ast/riscv/rv64im.vadl rename to vadl-test/resources/testSource/ast/riscv/rv64im.vadl diff --git a/vadl/test/resources/testSource/iss/riscv/custom/Makefile b/vadl-test/resources/testSource/iss/riscv/custom/Makefile similarity index 100% rename from vadl/test/resources/testSource/iss/riscv/custom/Makefile rename to vadl-test/resources/testSource/iss/riscv/custom/Makefile diff --git a/vadl/test/resources/testSource/iss/riscv/custom/exec-all.py b/vadl-test/resources/testSource/iss/riscv/custom/exec-all.py similarity index 100% rename from vadl/test/resources/testSource/iss/riscv/custom/exec-all.py rename to vadl-test/resources/testSource/iss/riscv/custom/exec-all.py diff --git a/vadl/test/resources/testSource/iss/riscv/custom/link.ld b/vadl-test/resources/testSource/iss/riscv/custom/link.ld similarity index 100% rename from vadl/test/resources/testSource/iss/riscv/custom/link.ld rename to vadl-test/resources/testSource/iss/riscv/custom/link.ld diff --git a/vadl/test/resources/testSource/iss/riscv/custom/tests/htif.S b/vadl-test/resources/testSource/iss/riscv/custom/tests/htif.S similarity index 100% rename from vadl/test/resources/testSource/iss/riscv/custom/tests/htif.S rename to vadl-test/resources/testSource/iss/riscv/custom/tests/htif.S diff --git a/vadl/test/resources/testSource/lcb/riscv32_pattern_trees.vadl b/vadl-test/resources/testSource/lcb/riscv32_pattern_trees.vadl similarity index 100% rename from vadl/test/resources/testSource/lcb/riscv32_pattern_trees.vadl rename to vadl-test/resources/testSource/lcb/riscv32_pattern_trees.vadl diff --git a/vadl/test/resources/testSource/lcb/riscv32_register_elimination.vadl b/vadl-test/resources/testSource/lcb/riscv32_register_elimination.vadl similarity index 100% rename from vadl/test/resources/testSource/lcb/riscv32_register_elimination.vadl rename to vadl-test/resources/testSource/lcb/riscv32_register_elimination.vadl diff --git a/vadl/test/resources/testSource/passes/algebraicSimplification/algebraic_simplification.vadl b/vadl-test/resources/testSource/passes/algebraicSimplification/algebraic_simplification.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/algebraicSimplification/algebraic_simplification.vadl rename to vadl-test/resources/testSource/passes/algebraicSimplification/algebraic_simplification.vadl diff --git a/vadl/test/resources/testSource/passes/canonicalization/valid_builtin_constant_evaluation.vadl b/vadl-test/resources/testSource/passes/canonicalization/valid_builtin_constant_evaluation.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/canonicalization/valid_builtin_constant_evaluation.vadl rename to vadl-test/resources/testSource/passes/canonicalization/valid_builtin_constant_evaluation.vadl diff --git a/vadl/test/resources/testSource/passes/issTcgScheduling/valid_branch_1.vadl b/vadl-test/resources/testSource/passes/issTcgScheduling/valid_branch_1.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/issTcgScheduling/valid_branch_1.vadl rename to vadl-test/resources/testSource/passes/issTcgScheduling/valid_branch_1.vadl diff --git a/vadl/test/resources/testSource/passes/sideEffectConditionResolving/valid_test_cases.vadl b/vadl-test/resources/testSource/passes/sideEffectConditionResolving/valid_test_cases.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/sideEffectConditionResolving/valid_test_cases.vadl rename to vadl-test/resources/testSource/passes/sideEffectConditionResolving/valid_test_cases.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_1.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_1.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_1.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_1.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_2.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_2.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_2.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_2.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_3.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_3.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_3.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_3.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_4.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_4.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_4.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_mem_4.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_dual_branch.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_dual_branch.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_dual_branch.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_dual_branch.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_potential_branch.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_potential_branch.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_potential_branch.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_potential_branch.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_single_branch.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_single_branch.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_single_branch.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_single_branch.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_triple_branch.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_triple_branch.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_triple_branch.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_reg_triple_branch.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_1.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_1.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_1.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_1.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_2.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_2.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_2.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_2.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_3.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_3.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_3.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_3.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_4.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_4.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_4.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/invalid_regfile_4.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/valid_reg_writes.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/valid_reg_writes.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/valid_reg_writes.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/valid_reg_writes.vadl diff --git a/vadl/test/resources/testSource/passes/singleResourceWriteValidation/valid_regfile_writes.vadl b/vadl-test/resources/testSource/passes/singleResourceWriteValidation/valid_regfile_writes.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/singleResourceWriteValidation/valid_regfile_writes.vadl rename to vadl-test/resources/testSource/passes/singleResourceWriteValidation/valid_regfile_writes.vadl diff --git a/vadl/test/resources/testSource/passes/typeCastElimination/valid_type_cast_elimination.vadl b/vadl-test/resources/testSource/passes/typeCastElimination/valid_type_cast_elimination.vadl similarity index 100% rename from vadl/test/resources/testSource/passes/typeCastElimination/valid_type_cast_elimination.vadl rename to vadl-test/resources/testSource/passes/typeCastElimination/valid_type_cast_elimination.vadl diff --git a/vadl/test/resources/testSource/temp_test.vadl b/vadl-test/resources/testSource/temp_test.vadl similarity index 100% rename from vadl/test/resources/testSource/temp_test.vadl rename to vadl-test/resources/testSource/temp_test.vadl diff --git a/vadl/test/resources/testSource/unit/enum/valid_enum1.vadl b/vadl-test/resources/testSource/unit/enum/valid_enum1.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/enum/valid_enum1.vadl rename to vadl-test/resources/testSource/unit/enum/valid_enum1.vadl diff --git a/vadl/test/resources/testSource/unit/format/invalid_fieldAccess_encFunc.vadl b/vadl-test/resources/testSource/unit/format/invalid_fieldAccess_encFunc.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/format/invalid_fieldAccess_encFunc.vadl rename to vadl-test/resources/testSource/unit/format/invalid_fieldAccess_encFunc.vadl diff --git a/vadl/test/resources/testSource/unit/format/invalid_fieldAccess_encFunc2.vadl b/vadl-test/resources/testSource/unit/format/invalid_fieldAccess_encFunc2.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/format/invalid_fieldAccess_encFunc2.vadl rename to vadl-test/resources/testSource/unit/format/invalid_fieldAccess_encFunc2.vadl diff --git a/vadl/test/resources/testSource/unit/format/invalid_overlappingField.vadl b/vadl-test/resources/testSource/unit/format/invalid_overlappingField.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/format/invalid_overlappingField.vadl rename to vadl-test/resources/testSource/unit/format/invalid_overlappingField.vadl diff --git a/vadl/test/resources/testSource/unit/format/valid_complexFormat.vadl b/vadl-test/resources/testSource/unit/format/valid_complexFormat.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/format/valid_complexFormat.vadl rename to vadl-test/resources/testSource/unit/format/valid_complexFormat.vadl diff --git a/vadl/test/resources/testSource/unit/format/valid_fieldAccess.vadl b/vadl-test/resources/testSource/unit/format/valid_fieldAccess.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/format/valid_fieldAccess.vadl rename to vadl-test/resources/testSource/unit/format/valid_fieldAccess.vadl diff --git a/vadl/test/resources/testSource/unit/format/valid_simpleFormat.vadl b/vadl-test/resources/testSource/unit/format/valid_simpleFormat.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/format/valid_simpleFormat.vadl rename to vadl-test/resources/testSource/unit/format/valid_simpleFormat.vadl diff --git a/vadl/test/resources/testSource/unit/function/valid_functionUsage.vadl b/vadl-test/resources/testSource/unit/function/valid_functionUsage.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/function/valid_functionUsage.vadl rename to vadl-test/resources/testSource/unit/function/valid_functionUsage.vadl diff --git a/vadl/test/resources/testSource/unit/function/valid_functions.vadl b/vadl-test/resources/testSource/unit/function/valid_functions.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/function/valid_functions.vadl rename to vadl-test/resources/testSource/unit/function/valid_functions.vadl diff --git a/vadl/test/resources/testSource/unit/memory/valid_memory.vadl b/vadl-test/resources/testSource/unit/memory/valid_memory.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/memory/valid_memory.vadl rename to vadl-test/resources/testSource/unit/memory/valid_memory.vadl diff --git a/vadl/test/resources/testSource/unit/register/invalid_reg_invalidFormat.vadl b/vadl-test/resources/testSource/unit/register/invalid_reg_invalidFormat.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/invalid_reg_invalidFormat.vadl rename to vadl-test/resources/testSource/unit/register/invalid_reg_invalidFormat.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_alias_regfile.vadl b/vadl-test/resources/testSource/unit/register/valid_alias_regfile.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_alias_regfile.vadl rename to vadl-test/resources/testSource/unit/register/valid_alias_regfile.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_pc_alias_reg.vadl b/vadl-test/resources/testSource/unit/register/valid_pc_alias_reg.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_pc_alias_reg.vadl rename to vadl-test/resources/testSource/unit/register/valid_pc_alias_reg.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_pc_alias_regfile.vadl b/vadl-test/resources/testSource/unit/register/valid_pc_alias_regfile.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_pc_alias_regfile.vadl rename to vadl-test/resources/testSource/unit/register/valid_pc_alias_regfile.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_pc_current.vadl b/vadl-test/resources/testSource/unit/register/valid_pc_current.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_pc_current.vadl rename to vadl-test/resources/testSource/unit/register/valid_pc_current.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_pc_next.vadl b/vadl-test/resources/testSource/unit/register/valid_pc_next.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_pc_next.vadl rename to vadl-test/resources/testSource/unit/register/valid_pc_next.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_pc_next_next.vadl b/vadl-test/resources/testSource/unit/register/valid_pc_next_next.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_pc_next_next.vadl rename to vadl-test/resources/testSource/unit/register/valid_pc_next_next.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_pc_normal.vadl b/vadl-test/resources/testSource/unit/register/valid_pc_normal.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_pc_normal.vadl rename to vadl-test/resources/testSource/unit/register/valid_pc_normal.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_reg_definition.vadl b/vadl-test/resources/testSource/unit/register/valid_reg_definition.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_reg_definition.vadl rename to vadl-test/resources/testSource/unit/register/valid_reg_definition.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_reg_read.vadl b/vadl-test/resources/testSource/unit/register/valid_reg_read.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_reg_read.vadl rename to vadl-test/resources/testSource/unit/register/valid_reg_read.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_reg_write.vadl b/vadl-test/resources/testSource/unit/register/valid_reg_write.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_reg_write.vadl rename to vadl-test/resources/testSource/unit/register/valid_reg_write.vadl diff --git a/vadl/test/resources/testSource/unit/register/valid_regfile.vadl b/vadl-test/resources/testSource/unit/register/valid_regfile.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/register/valid_regfile.vadl rename to vadl-test/resources/testSource/unit/register/valid_regfile.vadl diff --git a/vadl/test/resources/testSource/unit/relocation/valid_relocations.vadl b/vadl-test/resources/testSource/unit/relocation/valid_relocations.vadl similarity index 100% rename from vadl/test/resources/testSource/unit/relocation/valid_relocations.vadl rename to vadl-test/resources/testSource/unit/relocation/valid_relocations.vadl diff --git a/vadl/test/resources/viam-snapshots/instructionEncodingAssembly.vadl b/vadl-test/resources/viam-snapshots/instructionEncodingAssembly.vadl similarity index 100% rename from vadl/test/resources/viam-snapshots/instructionEncodingAssembly.vadl rename to vadl-test/resources/viam-snapshots/instructionEncodingAssembly.vadl diff --git a/vadl/test/vadl/AbstractTest.java b/vadl-test/test/vadl/AbstractTest.java similarity index 98% rename from vadl/test/vadl/AbstractTest.java rename to vadl-test/test/vadl/AbstractTest.java index 53f5fe212..05ccb4fdd 100644 --- a/vadl/test/vadl/AbstractTest.java +++ b/vadl-test/test/vadl/AbstractTest.java @@ -48,6 +48,7 @@ import org.junit.jupiter.params.provider.Arguments; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassKey; import vadl.pass.PassManager; import vadl.pass.PassOrder; @@ -354,7 +355,7 @@ public TestSetup setupPassManagerAndRunSpec(String specPath, throws IOException, DuplicatedPassKeyException { var spec = runAndGetViamSpecification(specPath); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(passes); passManager.run(spec); @@ -373,7 +374,7 @@ public TestSetup setupPassManagerAndRunSpecUntil(String specPath, PassOrder pass throws IOException, DuplicatedPassKeyException { var spec = runAndGetViamSpecification(specPath); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(passes); passManager.runUntilInclusive(spec, until); diff --git a/vadl/test/vadl/AnnotationRuleParametersTest.java b/vadl-test/test/vadl/AnnotationRuleParametersTest.java similarity index 100% rename from vadl/test/vadl/AnnotationRuleParametersTest.java rename to vadl-test/test/vadl/AnnotationRuleParametersTest.java diff --git a/vadl/test/vadl/AnnotationRuleTest.java b/vadl-test/test/vadl/AnnotationRuleTest.java similarity index 100% rename from vadl/test/vadl/AnnotationRuleTest.java rename to vadl-test/test/vadl/AnnotationRuleTest.java diff --git a/vadl/test/vadl/ArchitectureTest.java b/vadl-test/test/vadl/ArchitectureTest.java similarity index 100% rename from vadl/test/vadl/ArchitectureTest.java rename to vadl-test/test/vadl/ArchitectureTest.java diff --git a/vadl/test/vadl/DockerBuildKitDaemon.java b/vadl-test/test/vadl/DockerBuildKitDaemon.java similarity index 100% rename from vadl/test/vadl/DockerBuildKitDaemon.java rename to vadl-test/test/vadl/DockerBuildKitDaemon.java diff --git a/vadl/test/vadl/DockerExecutionTest.java b/vadl-test/test/vadl/DockerExecutionTest.java similarity index 100% rename from vadl/test/vadl/DockerExecutionTest.java rename to vadl-test/test/vadl/DockerExecutionTest.java diff --git a/vadl/test/vadl/DockerImage.java b/vadl-test/test/vadl/DockerImage.java similarity index 100% rename from vadl/test/vadl/DockerImage.java rename to vadl-test/test/vadl/DockerImage.java diff --git a/vadl/test/vadl/OpenVadlTestFrontend.java b/vadl-test/test/vadl/OpenVadlTestFrontend.java similarity index 100% rename from vadl/test/vadl/OpenVadlTestFrontend.java rename to vadl-test/test/vadl/OpenVadlTestFrontend.java diff --git a/vadl/test/vadl/RemovingDockerImagesTeardown.java b/vadl-test/test/vadl/RemovingDockerImagesTeardown.java similarity index 100% rename from vadl/test/vadl/RemovingDockerImagesTeardown.java rename to vadl-test/test/vadl/RemovingDockerImagesTeardown.java diff --git a/vadl/test/vadl/TestFrontend.java b/vadl-test/test/vadl/TestFrontend.java similarity index 100% rename from vadl/test/vadl/TestFrontend.java rename to vadl-test/test/vadl/TestFrontend.java diff --git a/vadl/test/vadl/TestUtils.java b/vadl-test/test/vadl/TestUtils.java similarity index 100% rename from vadl/test/vadl/TestUtils.java rename to vadl-test/test/vadl/TestUtils.java diff --git a/vadl/test/vadl/ast/AliasDefinitionTest.java b/vadl-test/test/vadl/ast/AliasDefinitionTest.java similarity index 100% rename from vadl/test/vadl/ast/AliasDefinitionTest.java rename to vadl-test/test/vadl/ast/AliasDefinitionTest.java diff --git a/vadl/test/vadl/ast/AsmDescriptionTests.java b/vadl-test/test/vadl/ast/AsmDescriptionTests.java similarity index 100% rename from vadl/test/vadl/ast/AsmDescriptionTests.java rename to vadl-test/test/vadl/ast/AsmDescriptionTests.java diff --git a/vadl/test/vadl/ast/AsmGrammarTests.java b/vadl-test/test/vadl/ast/AsmGrammarTests.java similarity index 100% rename from vadl/test/vadl/ast/AsmGrammarTests.java rename to vadl-test/test/vadl/ast/AsmGrammarTests.java diff --git a/vadl/test/vadl/ast/AsmLL1CheckerTest.java b/vadl-test/test/vadl/ast/AsmLL1CheckerTest.java similarity index 100% rename from vadl/test/vadl/ast/AsmLL1CheckerTest.java rename to vadl-test/test/vadl/ast/AsmLL1CheckerTest.java diff --git a/vadl/test/vadl/ast/AstDiffPrinter.java b/vadl-test/test/vadl/ast/AstDiffPrinter.java similarity index 100% rename from vadl/test/vadl/ast/AstDiffPrinter.java rename to vadl-test/test/vadl/ast/AstDiffPrinter.java diff --git a/vadl/test/vadl/ast/AstDumpTests.java b/vadl-test/test/vadl/ast/AstDumpTests.java similarity index 93% rename from vadl/test/vadl/ast/AstDumpTests.java rename to vadl-test/test/vadl/ast/AstDumpTests.java index c053c1d08..4f062a493 100644 --- a/vadl/test/vadl/ast/AstDumpTests.java +++ b/vadl-test/test/vadl/ast/AstDumpTests.java @@ -1,100 +1,100 @@ -// SPDX-FileCopyrightText : © 2025-2026 TU Wien -// SPDX-License-Identifier: GPL-3.0-or-later -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -package vadl.ast; - -import static vadl.ast.AstTestUtils.getResourcePath; -import static vadl.ast.AstTestUtils.loadVadlFiles; - -import java.io.IOException; -import java.net.URISyntaxException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.stream.Stream; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.DynamicTest; -import org.junit.jupiter.api.TestFactory; -import vadl.utils.Pair; - -public class AstDumpTests { - - /** - * Compares the computed dump of files in "test/resources/dumps/*.vadl" with the corresponding - * expected dump in "test/resources/dumps/*.dump". - * If a change in the code changes the dump representation, the expected dump file needs to be - * adapted as well. - * In this case, a file "*.dump.actual" will be generated. - * If that file is the correct dump, simply replace the old dump with it. - */ - @TestFactory - Stream astDumpTests() throws URISyntaxException, IOException { - var unitTestStream = loadVadlFiles("dumps").stream() - .filter(path -> path.getFileName().toString().endsWith(".vadl")) - .map(path -> DynamicTest.dynamicTest("Parse " + path.getFileName(), - () -> assertDumpEquality(path, dumpPath(path)))); - - var realWorldTestStream = Stream.of( - Pair.of( - getResourcePath("testSource/ast/riscv/rv64im.vadl"), - getResourcePath("dumps").resolve("rv64im.dump")) - ) - .map(pair -> DynamicTest.dynamicTest("Parse " + pair.left().getFileName(), - () -> assertDumpEquality(pair.left(), pair.right()))); - - return Stream.concat(unitTestStream, realWorldTestStream); - } - - private void assertDumpEquality(Path vadlPath, Path expectedDumpPath) throws IOException { - var ast = VadlParser.parse(vadlPath.toAbsolutePath()); - ModelRemover remover = new ModelRemover(); - remover.removeModels(ast); - Ungrouper ungrouper = new Ungrouper(); - ungrouper.ungroup(ast); - //verifyPrettifiedAst(ast); - - var actualDumpPath = actualDumpPath(expectedDumpPath); - var actualDump = new AstDumper().dump(ast); - if (!Files.isRegularFile(expectedDumpPath)) { - writeDump(actualDumpPath, actualDump); - Assertions.fail("File " + expectedDumpPath + " does not exist"); - } - var expectedDump = Files.readString(expectedDumpPath).replaceAll("\r\n", "\n"); - - if (actualDump.equals(expectedDump)) { - // Clean up any ".actual" files we might have left behind the last time this test failed - Files.deleteIfExists(actualDumpPath); - } else { - writeDump(actualDumpPath, actualDump); - } - - Assertions.assertEquals(expectedDump, actualDump, - "Expected dump does not match actual dump."); - } - - private void writeDump(Path dumpPath, String dump) throws IOException { - Files.writeString(dumpPath, dump); - } - - private Path dumpPath(Path vadlPath) { - var path = vadlPath.getFileName().toString().replace(".vadl", ".dump"); - return vadlPath.resolveSibling(path); - } - - private Path actualDumpPath(Path vadlPath) { - var path = vadlPath.getFileName().toString().replace(".dump", ".dump.actual"); - return vadlPath.resolveSibling(path); - } -} +// SPDX-FileCopyrightText : © 2025-2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.ast; + +import static vadl.ast.AstTestUtils.getResourcePath; +import static vadl.ast.AstTestUtils.loadVadlFiles; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.stream.Stream; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DynamicTest; +import org.junit.jupiter.api.TestFactory; +import vadl.utils.Pair; + +public class AstDumpTests { + + /** + * Compares the computed dump of files in "resources/dumps/*.vadl" with the corresponding + * expected dump in "resources/dumps/*.dump". + * If a change in the code changes the dump representation, the expected dump file needs to be + * adapted as well. + * In this case, a file "*.dump.actual" will be generated. + * If that file is the correct dump, simply replace the old dump with it. + */ + @TestFactory + Stream astDumpTests() throws URISyntaxException, IOException { + var unitTestStream = loadVadlFiles("dumps").stream() + .filter(path -> path.getFileName().toString().endsWith(".vadl")) + .map(path -> DynamicTest.dynamicTest("Parse " + path.getFileName(), + () -> assertDumpEquality(path, dumpPath(path)))); + + var realWorldTestStream = Stream.of( + Pair.of( + getResourcePath("testSource/ast/riscv/rv64im.vadl"), + getResourcePath("dumps").resolve("rv64im.dump")) + ) + .map(pair -> DynamicTest.dynamicTest("Parse " + pair.left().getFileName(), + () -> assertDumpEquality(pair.left(), pair.right()))); + + return Stream.concat(unitTestStream, realWorldTestStream); + } + + private void assertDumpEquality(Path vadlPath, Path expectedDumpPath) throws IOException { + var ast = VadlParser.parse(vadlPath.toAbsolutePath()); + ModelRemover remover = new ModelRemover(); + remover.removeModels(ast); + Ungrouper ungrouper = new Ungrouper(); + ungrouper.ungroup(ast); + //verifyPrettifiedAst(ast); + + var actualDumpPath = actualDumpPath(expectedDumpPath); + var actualDump = new AstDumper().dump(ast); + if (!Files.isRegularFile(expectedDumpPath)) { + writeDump(actualDumpPath, actualDump); + Assertions.fail("File " + expectedDumpPath + " does not exist"); + } + var expectedDump = Files.readString(expectedDumpPath).replaceAll("\r\n", "\n"); + + if (actualDump.equals(expectedDump)) { + // Clean up any ".actual" files we might have left behind the last time this test failed + Files.deleteIfExists(actualDumpPath); + } else { + writeDump(actualDumpPath, actualDump); + } + + Assertions.assertEquals(expectedDump, actualDump, + "Expected dump does not match actual dump."); + } + + private void writeDump(Path dumpPath, String dump) throws IOException { + Files.writeString(dumpPath, dump); + } + + private Path dumpPath(Path vadlPath) { + var path = vadlPath.getFileName().toString().replace(".vadl", ".dump"); + return vadlPath.resolveSibling(path); + } + + private Path actualDumpPath(Path vadlPath) { + var path = vadlPath.getFileName().toString().replace(".dump", ".dump.actual"); + return vadlPath.resolveSibling(path); + } +} diff --git a/vadl/test/vadl/ast/AstFinder.java b/vadl-test/test/vadl/ast/AstFinder.java similarity index 100% rename from vadl/test/vadl/ast/AstFinder.java rename to vadl-test/test/vadl/ast/AstFinder.java diff --git a/vadl/test/vadl/ast/AstMacroTests.java b/vadl-test/test/vadl/ast/AstMacroTests.java similarity index 96% rename from vadl/test/vadl/ast/AstMacroTests.java rename to vadl-test/test/vadl/ast/AstMacroTests.java index 8c2eff014..b141378db 100644 --- a/vadl/test/vadl/ast/AstMacroTests.java +++ b/vadl-test/test/vadl/ast/AstMacroTests.java @@ -36,8 +36,8 @@ public class AstMacroTests { private static final String MACRO_REPLACEMENTS_MARKER = "/// MACRO REPLACEMENTS"; /** - * Compares the computed expanded AST of files in "test/resources/macros/*.vadl" with the - * corresponding expected dump in "test/resources/macros/*.expanded.vadl". + * Compares the computed expanded AST of files in "resources/macros/*.vadl" with the + * corresponding expected dump in "resources/macros/*.expanded.vadl". * If a change in the code changes the AST representation, the expanded AST file needs to be * adapted as well. * In this case, a file "*.actual.expanded.vadl" will be generated. diff --git a/vadl/test/vadl/ast/AstTestUtils.java b/vadl-test/test/vadl/ast/AstTestUtils.java similarity index 96% rename from vadl/test/vadl/ast/AstTestUtils.java rename to vadl-test/test/vadl/ast/AstTestUtils.java index 1875c403d..d54784161 100644 --- a/vadl/test/vadl/ast/AstTestUtils.java +++ b/vadl-test/test/vadl/ast/AstTestUtils.java @@ -65,7 +65,8 @@ static void assertAstEquality(Ast actual, Ast expected) { static Path getResourcePath(String directory) throws URISyntaxException { var dir = Objects.requireNonNull(AstTestUtils.class.getClassLoader().getResource(directory)); var sourceDir = Path.of(dir.toURI()).toAbsolutePath().toString() - .replace("/build/resources/test", "/test/resources"); + .replace("/build/resources/test", "/resources") + .replace("/build/resources/main", "/resources"); return Path.of(sourceDir); } diff --git a/vadl/test/vadl/ast/BinaryPrecedenceTest.java b/vadl-test/test/vadl/ast/BinaryPrecedenceTest.java similarity index 100% rename from vadl/test/vadl/ast/BinaryPrecedenceTest.java rename to vadl-test/test/vadl/ast/BinaryPrecedenceTest.java diff --git a/vadl/test/vadl/ast/CallIndexExprTest.java b/vadl-test/test/vadl/ast/CallIndexExprTest.java similarity index 100% rename from vadl/test/vadl/ast/CallIndexExprTest.java rename to vadl-test/test/vadl/ast/CallIndexExprTest.java diff --git a/vadl/test/vadl/ast/EmbeddedSourceTest.java b/vadl-test/test/vadl/ast/EmbeddedSourceTest.java similarity index 100% rename from vadl/test/vadl/ast/EmbeddedSourceTest.java rename to vadl-test/test/vadl/ast/EmbeddedSourceTest.java diff --git a/vadl/test/vadl/ast/ExceptionTest.java b/vadl-test/test/vadl/ast/ExceptionTest.java similarity index 100% rename from vadl/test/vadl/ast/ExceptionTest.java rename to vadl-test/test/vadl/ast/ExceptionTest.java diff --git a/vadl/test/vadl/ast/ExprTest.java b/vadl-test/test/vadl/ast/ExprTest.java similarity index 96% rename from vadl/test/vadl/ast/ExprTest.java rename to vadl-test/test/vadl/ast/ExprTest.java index 1073238fa..8ca6aa41a 100644 --- a/vadl/test/vadl/ast/ExprTest.java +++ b/vadl-test/test/vadl/ast/ExprTest.java @@ -14,152 +14,152 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -package vadl.ast; - -import static vadl.ast.AstTestUtils.assertAstEquality; -import static vadl.ast.AstTestUtils.verifyPrettifiedAst; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import vadl.error.DiagnosticList; - -public class ExprTest { - @Test - void ifExpressions() { - var prog = """ - constant a = if (5 > 9) then 32 else 2 - """; - verifyPrettifiedAst(VadlParser.parse(prog)); - } - - @Test - void letExpressions() { - var prog = """ - constant a = let result = 9 in result - 2 - """; - verifyPrettifiedAst(VadlParser.parse(prog)); - } - - @Test - void bitLengthCannotContainClosingAngleBracket() { - var prog = """ - constant a: Bits<31 > 2> = 9 - """; - - Assertions.assertThrows(DiagnosticList.class, () -> VadlParser.parse(prog)); - } - - @Test - void castPrecedence() { - var prog = """ - constant a = -4 as Bits<3> + 2 - constant b = 5 * 2 + 3 as Bits < 3 - constant c = 9 + 1 as Bits<3> - """; - var equiv = """ - constant a = ((-4) as Bits<3>) + 2 - constant b = ((5 * 2) + (3 as Bits)) < 3 - constant c = 9 + (1 as Bits<3>) - """; - - var ast = VadlParser.parse(prog); - var expected = VadlParser.parse(equiv); - assertAstEquality(ast, expected); - } - - @Test - void chainedCasts() { - var prog = """ - constant a = -4 as SInt<3> as Bits - """; - var equiv = """ - constant a = ((-4) as SInt<3>) as Bits - """; - - var ast = VadlParser.parse(prog); - var expected = VadlParser.parse(equiv); - assertAstEquality(ast, expected); - } - - @Test - void multiRankCast() { - var prog = """ - constant a = -4 as Bits<3><9> + 2 - constant b = 9 + 1 as Bits<3><4> < 5 - """; - var equiv = """ - constant a = ((-4) as Bits<3><9>) + 2 - constant b = (9 + (1 as Bits<3><4>)) < 5 - """; - - var ast = VadlParser.parse(prog); - var expected = VadlParser.parse(equiv); - assertAstEquality(ast, expected); - } - - @Test - void macroCast() { - var prog = """ - instruction set architecture TEST = { - model Test (tyId: Id) : IsaDefs = { - constant a = -4 as $tyId + 2 - constant b = 9 + 1 as $tyId<3><4> < 5 - } - - $Test(Bits) - } - """; - var equiv = """ - instruction set architecture TEST = { - constant a = ((-4) as Bits) + 2 - constant b = (9 + (1 as Bits<3><4>)) < 5 - } - """; - - var ast = VadlParser.parse(prog); - var expected = VadlParser.parse(equiv); - assertAstEquality(ast, expected); - } - - @Test - void callExpressions() { - var prog = """ - instruction set architecture TEST = { - memory MEM : Bits<8> -> Bits<32> - constant a = 1 - constant b = 2 - constant simple = MEM - constant vector = MEM<0x0a> - constant vectorCall = MEM<0x0a>(9) - constant simpleCall = MEM(9) - constant rangeCall = MEM(9..2) - constant onlyComparisons = a < 2 && b > 2 - constant vectorAddLhs = MEM<0x0a> + 2 - constant vectorAddRhs = 1 + MEM<3> - constant vectorAddBoth = MEM<9> + MEM<3> - constant vectorCmpLhs = MEM<3> < a - constant vectorCmpRhs = a < MEM<3> - constant vectorCmpBoth = MEM<9> < MEM<3> - } - """; - - var ast = VadlParser.parse(prog); - verifyPrettifiedAst(ast); - } - - @Test - void matchExpressions() { - var prog = """ - constant x = 5 - constant a = match x with - { 1 => 0 - , 2, 3 => 4 - , {4, 5} => 6 - , _ => 7 - } - """; - - var ast = VadlParser.parse(prog); - verifyPrettifiedAst(ast); - } -} +package vadl.ast; + +import static vadl.ast.AstTestUtils.assertAstEquality; +import static vadl.ast.AstTestUtils.verifyPrettifiedAst; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import vadl.error.DiagnosticList; + +public class ExprTest { + @Test + void ifExpressions() { + var prog = """ + constant a = if (5 > 9) then 32 else 2 + """; + verifyPrettifiedAst(VadlParser.parse(prog)); + } + + @Test + void letExpressions() { + var prog = """ + constant a = let result = 9 in result - 2 + """; + verifyPrettifiedAst(VadlParser.parse(prog)); + } + + @Test + void bitLengthCannotContainClosingAngleBracket() { + var prog = """ + constant a: Bits<31 > 2> = 9 + """; + + Assertions.assertThrows(DiagnosticList.class, () -> VadlParser.parse(prog)); + } + + @Test + void castPrecedence() { + var prog = """ + constant a = -4 as Bits<3> + 2 + constant b = 5 * 2 + 3 as Bits < 3 + constant c = 9 + 1 as Bits<3> + """; + var equiv = """ + constant a = ((-4) as Bits<3>) + 2 + constant b = ((5 * 2) + (3 as Bits)) < 3 + constant c = 9 + (1 as Bits<3>) + """; + + var ast = VadlParser.parse(prog); + var expected = VadlParser.parse(equiv); + assertAstEquality(ast, expected); + } + + @Test + void chainedCasts() { + var prog = """ + constant a = -4 as SInt<3> as Bits + """; + var equiv = """ + constant a = ((-4) as SInt<3>) as Bits + """; + + var ast = VadlParser.parse(prog); + var expected = VadlParser.parse(equiv); + assertAstEquality(ast, expected); + } + + @Test + void multiRankCast() { + var prog = """ + constant a = -4 as Bits<3><9> + 2 + constant b = 9 + 1 as Bits<3><4> < 5 + """; + var equiv = """ + constant a = ((-4) as Bits<3><9>) + 2 + constant b = (9 + (1 as Bits<3><4>)) < 5 + """; + + var ast = VadlParser.parse(prog); + var expected = VadlParser.parse(equiv); + assertAstEquality(ast, expected); + } + + @Test + void macroCast() { + var prog = """ + instruction set architecture TEST = { + model Test (tyId: Id) : IsaDefs = { + constant a = -4 as $tyId + 2 + constant b = 9 + 1 as $tyId<3><4> < 5 + } + + $Test(Bits) + } + """; + var equiv = """ + instruction set architecture TEST = { + constant a = ((-4) as Bits) + 2 + constant b = (9 + (1 as Bits<3><4>)) < 5 + } + """; + + var ast = VadlParser.parse(prog); + var expected = VadlParser.parse(equiv); + assertAstEquality(ast, expected); + } + + @Test + void callExpressions() { + var prog = """ + instruction set architecture TEST = { + memory MEM : Bits<8> -> Bits<32> + constant a = 1 + constant b = 2 + constant simple = MEM + constant vector = MEM<0x0a> + constant vectorCall = MEM<0x0a>(9) + constant simpleCall = MEM(9) + constant rangeCall = MEM(9..2) + constant onlyComparisons = a < 2 && b > 2 + constant vectorAddLhs = MEM<0x0a> + 2 + constant vectorAddRhs = 1 + MEM<3> + constant vectorAddBoth = MEM<9> + MEM<3> + constant vectorCmpLhs = MEM<3> < a + constant vectorCmpRhs = a < MEM<3> + constant vectorCmpBoth = MEM<9> < MEM<3> + } + """; + + var ast = VadlParser.parse(prog); + verifyPrettifiedAst(ast); + } + + @Test + void matchExpressions() { + var prog = """ + constant x = 5 + constant a = match x with + { 1 => 0 + , 2, 3 => 4 + , {4, 5} => 6 + , _ => 7 + } + """; + + var ast = VadlParser.parse(prog); + verifyPrettifiedAst(ast); + } +} diff --git a/vadl/test/vadl/ast/FormatFieldAccessTest.java b/vadl-test/test/vadl/ast/FormatFieldAccessTest.java similarity index 100% rename from vadl/test/vadl/ast/FormatFieldAccessTest.java rename to vadl-test/test/vadl/ast/FormatFieldAccessTest.java diff --git a/vadl/test/vadl/ast/FrontendIntegrationTest.java b/vadl-test/test/vadl/ast/FrontendIntegrationTest.java similarity index 100% rename from vadl/test/vadl/ast/FrontendIntegrationTest.java rename to vadl-test/test/vadl/ast/FrontendIntegrationTest.java diff --git a/vadl/test/vadl/ast/FrontendSnapshotTests.java b/vadl-test/test/vadl/ast/FrontendSnapshotTests.java similarity index 94% rename from vadl/test/vadl/ast/FrontendSnapshotTests.java rename to vadl-test/test/vadl/ast/FrontendSnapshotTests.java index 2cafa8d3f..527eff029 100644 --- a/vadl/test/vadl/ast/FrontendSnapshotTests.java +++ b/vadl-test/test/vadl/ast/FrontendSnapshotTests.java @@ -17,6 +17,7 @@ package vadl.ast; import static vadl.TestUtils.assertEqualsFileLines; +import static vadl.ast.AstTestUtils.getResourcePath; import static vadl.ast.AstTestUtils.verifyPrettifiedAst; import java.io.IOException; @@ -37,7 +38,7 @@ import vadl.viam.ViamSnapshotDumper; import vadl.viam.passes.verification.ViamVerifier; -/// Runs all files in the test/resources/frontend/snapshots directory. +/// Runs all files in the resources/frontend-snapshots directory. /// The files are fed into the compilation pipeline and the thrown diagnostics are stored. /// Then the original file is read again and compared if it reported the same diagnostics. /// @@ -49,13 +50,13 @@ /// large block at the bottom and the convention is to include them at the top. Here are some /// examples: /// - `INCLUDE-AST-DUMP` will also insert the whole AST dump -/// - `INCLUDE-PRETTY-PRINT` will also insert the a pretty printed AST (in it all macros are +/// - `INCLUDE-PRETTY-PRINT` will also insert a pretty printed AST (in it all macros are /// expanded) /// - `INCLUDE-VIAM-DUMP` will also insert the whole VIAM dump public class FrontendSnapshotTests { @TestFactory - Stream snapshotTests() throws IOException { - return Files.walk(Paths.get("test/resources/frontend-snapshots")) + Stream snapshotTests() throws IOException, java.net.URISyntaxException { + return Files.walk(getResourcePath("frontend-snapshots")) .filter(path -> path.toString().endsWith(".vadl")) .map(path -> DynamicTest.dynamicTest( path.toString(), @@ -199,7 +200,7 @@ static void convertTest(String prog, String folder, Boolean isNegative, /// You just have to call it in the original test and it will create a matching diagnostic test. static void convertTest(String prog, String name, String folder, Boolean isNegative, Boolean includeAst) { - String dir = "test/resources/diagnostics/" + folder; + String dir = "resources/diagnostics/" + folder; String fileName = name.replaceAll("Text$", "") + ".vadl"; if (isNegative) { fileName = "invalid" + fileName.substring(0, 1).toUpperCase() + fileName.substring(1); diff --git a/vadl/test/vadl/ast/MacroTests.java b/vadl-test/test/vadl/ast/MacroTests.java similarity index 100% rename from vadl/test/vadl/ast/MacroTests.java rename to vadl-test/test/vadl/ast/MacroTests.java diff --git a/vadl/test/vadl/ast/ParserTest.java b/vadl-test/test/vadl/ast/ParserTest.java similarity index 100% rename from vadl/test/vadl/ast/ParserTest.java rename to vadl-test/test/vadl/ast/ParserTest.java diff --git a/vadl/test/vadl/ast/ParserUtilsTest.java b/vadl-test/test/vadl/ast/ParserUtilsTest.java similarity index 100% rename from vadl/test/vadl/ast/ParserUtilsTest.java rename to vadl-test/test/vadl/ast/ParserUtilsTest.java diff --git a/vadl/test/vadl/ast/StatementTest.java b/vadl-test/test/vadl/ast/StatementTest.java similarity index 100% rename from vadl/test/vadl/ast/StatementTest.java rename to vadl-test/test/vadl/ast/StatementTest.java diff --git a/vadl/test/vadl/ast/SyntaxTypeTest.java b/vadl-test/test/vadl/ast/SyntaxTypeTest.java similarity index 100% rename from vadl/test/vadl/ast/SyntaxTypeTest.java rename to vadl-test/test/vadl/ast/SyntaxTypeTest.java diff --git a/vadl/test/vadl/ast/TypecheckerAbiTest.java b/vadl-test/test/vadl/ast/TypecheckerAbiTest.java similarity index 100% rename from vadl/test/vadl/ast/TypecheckerAbiTest.java rename to vadl-test/test/vadl/ast/TypecheckerAbiTest.java diff --git a/vadl/test/vadl/ast/TypecheckerAsmTest.java b/vadl-test/test/vadl/ast/TypecheckerAsmTest.java similarity index 100% rename from vadl/test/vadl/ast/TypecheckerAsmTest.java rename to vadl-test/test/vadl/ast/TypecheckerAsmTest.java diff --git a/vadl/test/vadl/ast/ViamLocationExistenceChecker.java b/vadl-test/test/vadl/ast/ViamLocationExistenceChecker.java similarity index 100% rename from vadl/test/vadl/ast/ViamLocationExistenceChecker.java rename to vadl-test/test/vadl/ast/ViamLocationExistenceChecker.java diff --git a/vadl/test/vadl/ast/VirtualFileSystemTest.java b/vadl-test/test/vadl/ast/VirtualFileSystemTest.java similarity index 100% rename from vadl/test/vadl/ast/VirtualFileSystemTest.java rename to vadl-test/test/vadl/ast/VirtualFileSystemTest.java diff --git a/vadl/test/vadl/cppCodeGen/AbstractCppCodeGenTest.java b/vadl-test/test/vadl/cppCodeGen/AbstractCppCodeGenTest.java similarity index 91% rename from vadl/test/vadl/cppCodeGen/AbstractCppCodeGenTest.java rename to vadl-test/test/vadl/cppCodeGen/AbstractCppCodeGenTest.java index 5cc7b3e1b..4e1ee37ae 100644 --- a/vadl/test/vadl/cppCodeGen/AbstractCppCodeGenTest.java +++ b/vadl-test/test/vadl/cppCodeGen/AbstractCppCodeGenTest.java @@ -20,8 +20,8 @@ import vadl.DockerExecutionTest; import vadl.configuration.GcbConfiguration; import vadl.gcb.valuetypes.TargetName; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.LcbGcbPassOrders; public class AbstractCppCodeGenTest extends DockerExecutionTest { @@ -41,6 +41,6 @@ public record TestCase(String testName, String code) { public TestSetup runGcbAndCppCodeGen(GcbConfiguration configuration, String specPath) throws IOException, DuplicatedPassKeyException { - return setupPassManagerAndRunSpec(specPath, PassOrders.gcbAndCppCodeGen(configuration)); + return setupPassManagerAndRunSpec(specPath, LcbGcbPassOrders.gcbAndCppCodeGen(configuration)); } } diff --git a/vadl/test/vadl/cppCodeGen/BuiltinCTest.java b/vadl-test/test/vadl/cppCodeGen/BuiltinCTest.java similarity index 99% rename from vadl/test/vadl/cppCodeGen/BuiltinCTest.java rename to vadl-test/test/vadl/cppCodeGen/BuiltinCTest.java index 2d1bdab01..cfbbfbec4 100644 --- a/vadl/test/vadl/cppCodeGen/BuiltinCTest.java +++ b/vadl-test/test/vadl/cppCodeGen/BuiltinCTest.java @@ -1792,12 +1792,10 @@ private long norm(long val, int size) { private Stream runTests(Function... functions) { try { - var testDir = Path.of("build/test-builtin-c-test"); + var testDir = Files.createTempDirectory(Path.of("build"), "test-builtin-c-test-"); var mainC = testDir.resolve("main.c"); var builtinLib = testDir.resolve("vadl-builtins.h"); - Files.createDirectories(mainC.getParent()); - produceMain(mainC, List.of(functions)); try (var in = BuiltInTable.class.getResourceAsStream("/templates/common/vadl-builtins.h")) { diff --git a/vadl/test/vadl/cppCodeGen/SymbolTableTest.java b/vadl-test/test/vadl/cppCodeGen/SymbolTableTest.java similarity index 100% rename from vadl/test/vadl/cppCodeGen/SymbolTableTest.java rename to vadl-test/test/vadl/cppCodeGen/SymbolTableTest.java diff --git a/vadl/test/vadl/gcb/AbstractGcbTest.java b/vadl-test/test/vadl/gcb/AbstractGcbTest.java similarity index 96% rename from vadl/test/vadl/gcb/AbstractGcbTest.java rename to vadl-test/test/vadl/gcb/AbstractGcbTest.java index 5b2b282d3..a020ef321 100644 --- a/vadl/test/vadl/gcb/AbstractGcbTest.java +++ b/vadl-test/test/vadl/gcb/AbstractGcbTest.java @@ -26,8 +26,8 @@ import vadl.gcb.valuetypes.TargetName; import vadl.pass.PassKey; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.LcbGcbPassOrders; import vadl.viam.Format; import vadl.viam.Instruction; import vadl.viam.Specification; @@ -52,7 +52,7 @@ public TestSetup runGcb(GcbConfiguration configuration, PassKey until) throws IOException, DuplicatedPassKeyException { return setupPassManagerAndRunSpecUntil(specPath, - PassOrders.gcbAndCppCodeGen(configuration), until); + LcbGcbPassOrders.gcbAndCppCodeGen(configuration), until); } /** @@ -74,4 +74,4 @@ protected Instruction getInstrByName(String instruction, List immediates) { return immediates.stream().filter(x -> x.identifier.simpleName().equals(imm)).findFirst(); } -} \ No newline at end of file +} diff --git a/vadl/test/vadl/gcb/riscv/riscv32/InstructionPatternPruningPassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv32/InstructionPatternPruningPassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv32/InstructionPatternPruningPassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv32/InstructionPatternPruningPassTest.java diff --git a/vadl/test/vadl/gcb/riscv/riscv32/InstructionRegisterEliminationPassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv32/InstructionRegisterEliminationPassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv32/InstructionRegisterEliminationPassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv32/InstructionRegisterEliminationPassTest.java diff --git a/vadl/test/vadl/gcb/riscv/riscv64/GenerateValueRangeImmediatePassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv64/GenerateValueRangeImmediatePassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv64/GenerateValueRangeImmediatePassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv64/GenerateValueRangeImmediatePassTest.java diff --git a/vadl/test/vadl/gcb/riscv/riscv64/IdentifyFieldUsagePassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv64/IdentifyFieldUsagePassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv64/IdentifyFieldUsagePassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv64/IdentifyFieldUsagePassTest.java diff --git a/vadl/test/vadl/gcb/riscv/riscv64/passes/DetermineBuiltinAttributesPassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv64/passes/DetermineBuiltinAttributesPassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv64/passes/DetermineBuiltinAttributesPassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv64/passes/DetermineBuiltinAttributesPassTest.java diff --git a/vadl/test/vadl/gcb/riscv/riscv64/passes/DetermineRelocationTypeForFieldPassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv64/passes/DetermineRelocationTypeForFieldPassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv64/passes/DetermineRelocationTypeForFieldPassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv64/passes/DetermineRelocationTypeForFieldPassTest.java diff --git a/vadl/test/vadl/gcb/riscv/riscv64/passes/GenerateGcbIntrinsicsPassTest.java b/vadl-test/test/vadl/gcb/riscv/riscv64/passes/GenerateGcbIntrinsicsPassTest.java similarity index 100% rename from vadl/test/vadl/gcb/riscv/riscv64/passes/GenerateGcbIntrinsicsPassTest.java rename to vadl-test/test/vadl/gcb/riscv/riscv64/passes/GenerateGcbIntrinsicsPassTest.java diff --git a/vadl/test/vadl/iss/AsmTestBuilder.java b/vadl-test/test/vadl/iss/AsmTestBuilder.java similarity index 100% rename from vadl/test/vadl/iss/AsmTestBuilder.java rename to vadl-test/test/vadl/iss/AsmTestBuilder.java diff --git a/vadl/test/vadl/iss/AutoAssembler.java b/vadl-test/test/vadl/iss/AutoAssembler.java similarity index 100% rename from vadl/test/vadl/iss/AutoAssembler.java rename to vadl-test/test/vadl/iss/AutoAssembler.java diff --git a/vadl/test/vadl/iss/CosimInstrTest.java b/vadl-test/test/vadl/iss/CosimInstrTest.java similarity index 100% rename from vadl/test/vadl/iss/CosimInstrTest.java rename to vadl-test/test/vadl/iss/CosimInstrTest.java diff --git a/vadl/test/vadl/iss/CosimTest.java b/vadl-test/test/vadl/iss/CosimTest.java similarity index 98% rename from vadl/test/vadl/iss/CosimTest.java rename to vadl-test/test/vadl/iss/CosimTest.java index 4b1987772..f239fb23f 100644 --- a/vadl/test/vadl/iss/CosimTest.java +++ b/vadl-test/test/vadl/iss/CosimTest.java @@ -27,8 +27,8 @@ import vadl.DockerExecutionTest; import vadl.DockerImage; import vadl.configuration.IssConfiguration; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.IssPassOrders; /** * The test class to build and run tests on the QEMU ISS. @@ -75,7 +75,7 @@ private DockerImage generateSimulator(Map cache, return cache.computeIfAbsent(specPath, (path) -> { try { // run iss generation - setupPassManagerAndRunSpec(path, PassOrders.iss(configuration)); + setupPassManagerAndRunSpec(path, IssPassOrders.iss(configuration)); // find iss output path var issOutputPath = Path.of(configuration.outputPath() + "/iss").toAbsolutePath(); diff --git a/vadl/test/vadl/iss/CosimTestUtils.java b/vadl-test/test/vadl/iss/CosimTestUtils.java similarity index 100% rename from vadl/test/vadl/iss/CosimTestUtils.java rename to vadl-test/test/vadl/iss/CosimTestUtils.java diff --git a/vadl/test/vadl/iss/IssInstrTest.java b/vadl-test/test/vadl/iss/IssInstrTest.java similarity index 100% rename from vadl/test/vadl/iss/IssInstrTest.java rename to vadl-test/test/vadl/iss/IssInstrTest.java diff --git a/vadl/test/vadl/iss/IssLoweringTest.java b/vadl-test/test/vadl/iss/IssLoweringTest.java similarity index 95% rename from vadl/test/vadl/iss/IssLoweringTest.java rename to vadl-test/test/vadl/iss/IssLoweringTest.java index f4370021b..f559e0b85 100644 --- a/vadl/test/vadl/iss/IssLoweringTest.java +++ b/vadl-test/test/vadl/iss/IssLoweringTest.java @@ -28,8 +28,8 @@ import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; import vadl.dump.HtmlDumpPass; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.IssPassOrders; public class IssLoweringTest extends AbstractTest { @@ -48,7 +48,7 @@ void issRiscvLoweringTest() throws IOException, DuplicatedPassKeyException { new GeneralConfiguration(Path.of("build/test-output"), DumpMode.ALWAYS)); setupPassManagerAndRunSpec("sys/risc-v/rv64im.vadl", - PassOrders.iss(config) + IssPassOrders.iss(config) ); } @@ -58,7 +58,7 @@ void issAarch64LoweringTest() throws IOException, DuplicatedPassKeyException { new IssConfiguration(new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE)); setupPassManagerAndRunSpec("sys/aarch64/virt.vadl", - PassOrders.iss(config) + IssPassOrders.iss(config) ); } } diff --git a/vadl/test/vadl/iss/IssTestUtils.java b/vadl-test/test/vadl/iss/IssTestUtils.java similarity index 100% rename from vadl/test/vadl/iss/IssTestUtils.java rename to vadl-test/test/vadl/iss/IssTestUtils.java diff --git a/vadl/test/vadl/iss/QemuIssTest.java b/vadl-test/test/vadl/iss/QemuIssTest.java similarity index 97% rename from vadl/test/vadl/iss/QemuIssTest.java rename to vadl-test/test/vadl/iss/QemuIssTest.java index 17d26021a..a3b770a97 100644 --- a/vadl/test/vadl/iss/QemuIssTest.java +++ b/vadl-test/test/vadl/iss/QemuIssTest.java @@ -27,8 +27,8 @@ import vadl.DockerExecutionTest; import vadl.DockerImage; import vadl.configuration.IssConfiguration; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.IssPassOrders; /** * The test class to build and run tests on the QEMU ISS. @@ -78,7 +78,7 @@ private DockerImage generateSimulator(Map cache, return cache.computeIfAbsent(specPath, (path) -> { try { // run iss generation - setupPassManagerAndRunSpec(path, PassOrders.iss(configuration)); + setupPassManagerAndRunSpec(path, IssPassOrders.iss(configuration)); // find iss output path var issOutputPath = Path.of(configuration.outputPath() + "/iss").toAbsolutePath(); diff --git a/vadl/test/vadl/iss/TestConstants.java b/vadl-test/test/vadl/iss/TestConstants.java similarity index 100% rename from vadl/test/vadl/iss/TestConstants.java rename to vadl-test/test/vadl/iss/TestConstants.java diff --git a/vadl/test/vadl/iss/aarch64/A64SVETestBuilder.java b/vadl-test/test/vadl/iss/aarch64/A64SVETestBuilder.java similarity index 100% rename from vadl/test/vadl/iss/aarch64/A64SVETestBuilder.java rename to vadl-test/test/vadl/iss/aarch64/A64SVETestBuilder.java diff --git a/vadl/test/vadl/iss/aarch64/A64TestBuilder.java b/vadl-test/test/vadl/iss/aarch64/A64TestBuilder.java similarity index 100% rename from vadl/test/vadl/iss/aarch64/A64TestBuilder.java rename to vadl-test/test/vadl/iss/aarch64/A64TestBuilder.java diff --git a/vadl/test/vadl/iss/aarch64/AbstractIssAarch64InstrTest.java b/vadl-test/test/vadl/iss/aarch64/AbstractIssAarch64InstrTest.java similarity index 100% rename from vadl/test/vadl/iss/aarch64/AbstractIssAarch64InstrTest.java rename to vadl-test/test/vadl/iss/aarch64/AbstractIssAarch64InstrTest.java diff --git a/vadl/test/vadl/iss/aarch64/IssA64InstrTest.java b/vadl-test/test/vadl/iss/aarch64/IssA64InstrTest.java similarity index 98% rename from vadl/test/vadl/iss/aarch64/IssA64InstrTest.java rename to vadl-test/test/vadl/iss/aarch64/IssA64InstrTest.java index 8ac286a36..bd51eb895 100644 --- a/vadl/test/vadl/iss/aarch64/IssA64InstrTest.java +++ b/vadl-test/test/vadl/iss/aarch64/IssA64InstrTest.java @@ -34,8 +34,8 @@ import vadl.iss.AsmTestBuilder; import vadl.iss.AutoAssembler; import vadl.iss.IssTestUtils; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.IssPassOrders; import vadl.utils.Disassembler; import vadl.utils.ViamUtils; import vadl.vdt.impl.regular.RegularDecodeTreeGenerator; @@ -72,7 +72,7 @@ public AsmTestBuilder getBuilder(String testNamePrefix, int id) { void setup() throws IOException, DuplicatedPassKeyException { if (isa == null) { var setup = - setupPassManagerAndRunSpec(getVadlSpec(), PassOrders.iss(getConfiguration(false))); + setupPassManagerAndRunSpec(getVadlSpec(), IssPassOrders.iss(getConfiguration(false))); isa = setup.specification().isa().get(); // For auto-generating assembly code, endianness doesn't really matter, as long as assembler // and disassembler use the same encoding format. diff --git a/vadl/test/vadl/iss/aarch64/IssA64SVEInstrTest.java b/vadl-test/test/vadl/iss/aarch64/IssA64SVEInstrTest.java similarity index 98% rename from vadl/test/vadl/iss/aarch64/IssA64SVEInstrTest.java rename to vadl-test/test/vadl/iss/aarch64/IssA64SVEInstrTest.java index 3850e3ef2..4c0aeb673 100644 --- a/vadl/test/vadl/iss/aarch64/IssA64SVEInstrTest.java +++ b/vadl-test/test/vadl/iss/aarch64/IssA64SVEInstrTest.java @@ -28,8 +28,8 @@ import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.TestFactory; import vadl.iss.IssTestUtils; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.IssPassOrders; import vadl.utils.ViamUtils; import vadl.viam.InstructionSetArchitecture; import vadl.viam.RegisterTensor; @@ -87,7 +87,7 @@ void setup() throws IOException, DuplicatedPassKeyException { return; } - var setup = setupPassManagerAndRunSpec(getVadlSpec(), PassOrders.iss(getConfiguration(false))); + var setup = setupPassManagerAndRunSpec(getVadlSpec(), IssPassOrders.iss(getConfiguration(false))); isa = setup.specification().isa().orElseThrow(() -> new IllegalStateException("Specification has no ISA.")); diff --git a/vadl/test/vadl/iss/aarch64/IssAarch64EmbenchTest.java b/vadl-test/test/vadl/iss/aarch64/IssAarch64EmbenchTest.java similarity index 100% rename from vadl/test/vadl/iss/aarch64/IssAarch64EmbenchTest.java rename to vadl-test/test/vadl/iss/aarch64/IssAarch64EmbenchTest.java diff --git a/vadl/test/vadl/iss/passes/IssTcgSchedulingPassTest.java b/vadl-test/test/vadl/iss/passes/IssTcgSchedulingPassTest.java similarity index 95% rename from vadl/test/vadl/iss/passes/IssTcgSchedulingPassTest.java rename to vadl-test/test/vadl/iss/passes/IssTcgSchedulingPassTest.java index 9b2f3435c..564603341 100644 --- a/vadl/test/vadl/iss/passes/IssTcgSchedulingPassTest.java +++ b/vadl-test/test/vadl/iss/passes/IssTcgSchedulingPassTest.java @@ -28,15 +28,15 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.IssPassOrders; import vadl.types.BuiltInTable; import vadl.viam.Instruction; import vadl.viam.graph.control.IfNode; +import vadl.viam.graph.control.InstrExitNode; import vadl.viam.graph.control.ScheduledNode; import vadl.viam.graph.dependency.BuiltInCall; import vadl.viam.passes.sideEffectScheduling.SideEffectSchedulingPass; -import vadl.viam.passes.sideEffectScheduling.nodes.InstrExitNode; /** * We need this tests as there is no occurrence of the tested problems in the RISC-V specification. @@ -49,7 +49,7 @@ public void test_schedule_in_both_branches() throws IOException, DuplicatedPassK new IssConfiguration(new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE)); var setup = setupPassManagerAndRunSpec("passes/issTcgScheduling/valid_branch_1.vadl", - PassOrders.iss(config) + IssPassOrders.iss(config) .untilFirst(SideEffectSchedulingPass.class) ); var viam = setup.specification(); diff --git a/vadl/test/vadl/iss/passes/opDecomposition/IssOpDecompositionPassTest.java b/vadl-test/test/vadl/iss/passes/opDecomposition/IssOpDecompositionPassTest.java similarity index 100% rename from vadl/test/vadl/iss/passes/opDecomposition/IssOpDecompositionPassTest.java rename to vadl-test/test/vadl/iss/passes/opDecomposition/IssOpDecompositionPassTest.java diff --git a/vadl/test/vadl/iss/ppc64/AbstractCosimPpc64InstrTest.java b/vadl-test/test/vadl/iss/ppc64/AbstractCosimPpc64InstrTest.java similarity index 100% rename from vadl/test/vadl/iss/ppc64/AbstractCosimPpc64InstrTest.java rename to vadl-test/test/vadl/iss/ppc64/AbstractCosimPpc64InstrTest.java diff --git a/vadl/test/vadl/iss/ppc64/CosimPpc64InstrTest.java b/vadl-test/test/vadl/iss/ppc64/CosimPpc64InstrTest.java similarity index 100% rename from vadl/test/vadl/iss/ppc64/CosimPpc64InstrTest.java rename to vadl-test/test/vadl/iss/ppc64/CosimPpc64InstrTest.java diff --git a/vadl/test/vadl/iss/ppc64/LimitedCosimPpc64InstrTest.java b/vadl-test/test/vadl/iss/ppc64/LimitedCosimPpc64InstrTest.java similarity index 100% rename from vadl/test/vadl/iss/ppc64/LimitedCosimPpc64InstrTest.java rename to vadl-test/test/vadl/iss/ppc64/LimitedCosimPpc64InstrTest.java diff --git a/vadl/test/vadl/iss/ppc64/Ppc64TestBuilder.java b/vadl-test/test/vadl/iss/ppc64/Ppc64TestBuilder.java similarity index 100% rename from vadl/test/vadl/iss/ppc64/Ppc64TestBuilder.java rename to vadl-test/test/vadl/iss/ppc64/Ppc64TestBuilder.java diff --git a/vadl/test/vadl/iss/riscv/AbstractIssRiscv32InstrTest.java b/vadl-test/test/vadl/iss/riscv/AbstractIssRiscv32InstrTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/AbstractIssRiscv32InstrTest.java rename to vadl-test/test/vadl/iss/riscv/AbstractIssRiscv32InstrTest.java diff --git a/vadl/test/vadl/iss/riscv/AbstractIssRiscv64InstrTest.java b/vadl-test/test/vadl/iss/riscv/AbstractIssRiscv64InstrTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/AbstractIssRiscv64InstrTest.java rename to vadl-test/test/vadl/iss/riscv/AbstractIssRiscv64InstrTest.java diff --git a/vadl/test/vadl/iss/riscv/IssCustomTests.java b/vadl-test/test/vadl/iss/riscv/IssCustomTests.java similarity index 100% rename from vadl/test/vadl/iss/riscv/IssCustomTests.java rename to vadl-test/test/vadl/iss/riscv/IssCustomTests.java diff --git a/vadl/test/vadl/iss/riscv/IssRV32ZicsrInstrTest.java b/vadl-test/test/vadl/iss/riscv/IssRV32ZicsrInstrTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/IssRV32ZicsrInstrTest.java rename to vadl-test/test/vadl/iss/riscv/IssRV32ZicsrInstrTest.java diff --git a/vadl/test/vadl/iss/riscv/IssRV64IInstrTest.java b/vadl-test/test/vadl/iss/riscv/IssRV64IInstrTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/IssRV64IInstrTest.java rename to vadl-test/test/vadl/iss/riscv/IssRV64IInstrTest.java diff --git a/vadl/test/vadl/iss/riscv/IssRV64MInstrTest.java b/vadl-test/test/vadl/iss/riscv/IssRV64MInstrTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/IssRV64MInstrTest.java rename to vadl-test/test/vadl/iss/riscv/IssRV64MInstrTest.java diff --git a/vadl/test/vadl/iss/riscv/IssRV64VInstrTest.java b/vadl-test/test/vadl/iss/riscv/IssRV64VInstrTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/IssRV64VInstrTest.java rename to vadl-test/test/vadl/iss/riscv/IssRV64VInstrTest.java diff --git a/vadl/test/vadl/iss/riscv/IssRiscvEmbenchTest.java b/vadl-test/test/vadl/iss/riscv/IssRiscvEmbenchTest.java similarity index 100% rename from vadl/test/vadl/iss/riscv/IssRiscvEmbenchTest.java rename to vadl-test/test/vadl/iss/riscv/IssRiscvEmbenchTest.java diff --git a/vadl/test/vadl/iss/riscv/RV64IMVTestBuilder.java b/vadl-test/test/vadl/iss/riscv/RV64IMVTestBuilder.java similarity index 100% rename from vadl/test/vadl/iss/riscv/RV64IMVTestBuilder.java rename to vadl-test/test/vadl/iss/riscv/RV64IMVTestBuilder.java diff --git a/vadl/test/vadl/lcb/AbstractLcbTest.java b/vadl-test/test/vadl/lcb/AbstractLcbTest.java similarity index 94% rename from vadl/test/vadl/lcb/AbstractLcbTest.java rename to vadl-test/test/vadl/lcb/AbstractLcbTest.java index 4c741ed58..c0eea5c22 100644 --- a/vadl/test/vadl/lcb/AbstractLcbTest.java +++ b/vadl-test/test/vadl/lcb/AbstractLcbTest.java @@ -24,8 +24,8 @@ import vadl.pass.Pass; import vadl.pass.PassKey; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.LcbGcbPassOrders; public abstract class AbstractLcbTest extends AbstractCppCodeGenTest { @@ -47,7 +47,7 @@ public TestSetup runLcb(LcbConfiguration configuration, PassKey until) throws IOException, DuplicatedPassKeyException { return setupPassManagerAndRunSpecUntil(specPath, - PassOrders.lcb(configuration), until); + LcbGcbPassOrders.lcb(configuration), until); } @@ -55,7 +55,7 @@ public TestSetup runLcb(LcbConfiguration configuration, String specPath) throws IOException, DuplicatedPassKeyException { return setupPassManagerAndRunSpec(specPath, - PassOrders.lcb(configuration)); + LcbGcbPassOrders.lcb(configuration)); } /** @@ -82,7 +82,7 @@ public TestSetup runLcb(LcbConfiguration configuration, PassKey until, List temporaryPasses) throws IOException, DuplicatedPassKeyException { - var passOrder = PassOrders.lcb(configuration); + var passOrder = LcbGcbPassOrders.lcb(configuration); for (var tempPass : temporaryPasses) { passOrder.addAfterLast(tempPass.after, tempPass.pass); } diff --git a/vadl/test/vadl/lcb/AbstractPredicateCodeGeneratorCppVerificationTest.java b/vadl-test/test/vadl/lcb/AbstractPredicateCodeGeneratorCppVerificationTest.java similarity index 96% rename from vadl/test/vadl/lcb/AbstractPredicateCodeGeneratorCppVerificationTest.java rename to vadl-test/test/vadl/lcb/AbstractPredicateCodeGeneratorCppVerificationTest.java index 9655f9567..6985fd909 100644 --- a/vadl/test/vadl/lcb/AbstractPredicateCodeGeneratorCppVerificationTest.java +++ b/vadl-test/test/vadl/lcb/AbstractPredicateCodeGeneratorCppVerificationTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -136,14 +136,12 @@ private Pair setup(LcbConfiguration configuration, // Move files into Docker Context { VadlFileUtils.createDirectories(configuration, "encoding", "inputs"); - VadlFileUtils.copyFile(Path.of( - "main/resources/templates/common/vadl-builtins.h" - ), + VadlFileUtils.copyResource("templates/common/vadl-builtins.h", Path.of(configuration.outputPath() + "/vadl-builtins.h") ); VadlFileUtils.copyDirectory( Path.of( - "test/resources/images/encodingCodeGeneratorCppVerification/"), + "resources/images/encodingCodeGeneratorCppVerification/"), Path.of(configuration.outputPath() + "/encoding/")); } @@ -216,7 +214,7 @@ int main() { } protected String renderNegative(GcbCppFunctionWithBody record, Format.FieldAccess fieldAccess, - int sample) { + int sample) { var predicateFunctionGenerator = new PredicateFunctionCodeGenerator(record.header(), fieldAccess, record.header().functionName().lower()); diff --git a/vadl/test/vadl/lcb/EncodingCodeGeneratorCppVerificationTest.java b/vadl-test/test/vadl/lcb/EncodingCodeGeneratorCppVerificationTest.java similarity index 96% rename from vadl/test/vadl/lcb/EncodingCodeGeneratorCppVerificationTest.java rename to vadl-test/test/vadl/lcb/EncodingCodeGeneratorCppVerificationTest.java index 020a932cf..8b5098590 100644 --- a/vadl/test/vadl/lcb/EncodingCodeGeneratorCppVerificationTest.java +++ b/vadl-test/test/vadl/lcb/EncodingCodeGeneratorCppVerificationTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -53,14 +53,12 @@ Collection instructions() throws IOException, DuplicatedPassKeyExce // Move files into Docker Context { VadlFileUtils.createDirectories(configuration, "encoding", "inputs"); - VadlFileUtils.copyFile(Path.of( - "main/resources/templates/common/vadl-builtins.h" - ), + VadlFileUtils.copyResource("templates/common/vadl-builtins.h", Path.of(configuration.outputPath() + "/vadl-builtins.h") ); VadlFileUtils.copyDirectory( Path.of( - "test/resources/images/encodingCodeGeneratorCppVerification/"), + "resources/images/encodingCodeGeneratorCppVerification/"), Path.of(configuration.outputPath() + "/encoding/")); } diff --git a/vadl/test/vadl/lcb/LcbDockerExecutionTest.java b/vadl-test/test/vadl/lcb/LcbDockerExecutionTest.java similarity index 97% rename from vadl/test/vadl/lcb/LcbDockerExecutionTest.java rename to vadl-test/test/vadl/lcb/LcbDockerExecutionTest.java index 8f47cdce5..ff7318de1 100644 --- a/vadl/test/vadl/lcb/LcbDockerExecutionTest.java +++ b/vadl-test/test/vadl/lcb/LcbDockerExecutionTest.java @@ -47,7 +47,7 @@ private void copyLcbExecutionTestIntoDockerContext(LcbConfiguration configuratio throws IOException { Files.createDirectories(Path.of(configuration.outputPath() + "/lcb/embench")); var inputStream = new FileInputStream( - "test/resources/images/lcb_execution_test_" + getTarget() + "/Dockerfile"); + "resources/images/lcb_execution_test_" + getTarget() + "/Dockerfile"); var outputStream = new FileOutputStream(configuration.outputPath() + "/lcb/Dockerfile"); inputStream.transferTo(outputStream); @@ -56,7 +56,7 @@ private void copyLcbExecutionTestIntoDockerContext(LcbConfiguration configuratio private void copyEmbenchIntoDockerContext(LcbConfiguration configuration) throws IOException { var input = new File( - "test/resources/embench"); + "resources/embench"); var output = new File(configuration.outputPath() + "/lcb/embench"); FileUtils.copyDirectory(input, output); } diff --git a/vadl/test/vadl/lcb/LcbDockerInputFileExecutionTest.java b/vadl-test/test/vadl/lcb/LcbDockerInputFileExecutionTest.java similarity index 100% rename from vadl/test/vadl/lcb/LcbDockerInputFileExecutionTest.java rename to vadl-test/test/vadl/lcb/LcbDockerInputFileExecutionTest.java diff --git a/vadl/test/vadl/lcb/aarch64/IsaMachineInstructionMatchingAarch64PassTest.java b/vadl-test/test/vadl/lcb/aarch64/IsaMachineInstructionMatchingAarch64PassTest.java similarity index 98% rename from vadl/test/vadl/lcb/aarch64/IsaMachineInstructionMatchingAarch64PassTest.java rename to vadl-test/test/vadl/lcb/aarch64/IsaMachineInstructionMatchingAarch64PassTest.java index 1d413b41f..62a1cc0e9 100644 --- a/vadl/test/vadl/lcb/aarch64/IsaMachineInstructionMatchingAarch64PassTest.java +++ b/vadl-test/test/vadl/lcb/aarch64/IsaMachineInstructionMatchingAarch64PassTest.java @@ -30,8 +30,8 @@ import vadl.gcb.passes.MachineInstructionLabel; import vadl.lcb.AbstractLcbTest; import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.LcbGcbPassOrders; import vadl.types.BitsType; import vadl.types.DataType; import vadl.viam.Definition; @@ -91,7 +91,7 @@ void shouldFindMatchings(List expectedInstructionName, var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "sys/aarch64/aarch64-abi.vadl", - PassOrders.lcb(config) + LcbGcbPassOrders.lcb(config) .untilFirst(IsaMachineInstructionMatchingPass.class) ); var passManager = setup.passManager(); @@ -120,7 +120,7 @@ void shouldFindMatchingsByExtension(List expectedInstructionName, var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "sys/aarch64/aarch64-abi.vadl", - PassOrders.lcb(config) + LcbGcbPassOrders.lcb(config) .untilFirst(IsaMachineInstructionMatchingPass.class) ); @@ -143,4 +143,4 @@ void shouldFindMatchingsByExtension(List expectedInstructionName, } } } -} \ No newline at end of file +} diff --git a/vadl/test/vadl/lcb/aarch64/QemuAarch64SimulationTest.java b/vadl-test/test/vadl/lcb/aarch64/QemuAarch64SimulationTest.java similarity index 91% rename from vadl/test/vadl/lcb/aarch64/QemuAarch64SimulationTest.java rename to vadl-test/test/vadl/lcb/aarch64/QemuAarch64SimulationTest.java index 6e32fdf62..e28f79b74 100644 --- a/vadl/test/vadl/lcb/aarch64/QemuAarch64SimulationTest.java +++ b/vadl-test/test/vadl/lcb/aarch64/QemuAarch64SimulationTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -58,7 +58,7 @@ protected String getAbi() { @TestFactory List optLevel0() throws DuplicatedPassKeyException, IOException { return runEach(getSpecPath(), - List.of("test/resources/llvm/riscv/qemu_nolibc/" + List.of("resources/llvm/riscv/qemu_nolibc/" ), 0, "sh /work/compile.sh"); @@ -67,7 +67,7 @@ List optLevel0() throws DuplicatedPassKeyException, IOException { @TestFactory List optLevel3() throws DuplicatedPassKeyException, IOException { return runEach(getSpecPath(), - List.of("test/resources/llvm/riscv/qemu_nolibc/"), + List.of("resources/llvm/riscv/qemu_nolibc/"), 3, "sh /work/compile.sh"); } diff --git a/vadl/test/vadl/lcb/aarch64/template/EmitInstrInfoTableGenFilePassTest.java b/vadl-test/test/vadl/lcb/aarch64/template/EmitInstrInfoTableGenFilePassTest.java similarity index 97% rename from vadl/test/vadl/lcb/aarch64/template/EmitInstrInfoTableGenFilePassTest.java rename to vadl-test/test/vadl/lcb/aarch64/template/EmitInstrInfoTableGenFilePassTest.java index 4d5855d74..01ec5a51d 100644 --- a/vadl/test/vadl/lcb/aarch64/template/EmitInstrInfoTableGenFilePassTest.java +++ b/vadl-test/test/vadl/lcb/aarch64/template/EmitInstrInfoTableGenFilePassTest.java @@ -48,9 +48,9 @@ void testLowering() throws IOException, DuplicatedPassKeyException { var output = trimmed.lines(); var fs = new File( - "test/resources/snapshots/aarch64/InstrInfoTableGen.td"); + "resources/snapshots/aarch64/InstrInfoTableGen.td"); var expected = FileUtils.readFileToString(fs, "UTF-8"); Assertions.assertLinesMatch(expected.trim().lines(), output); } -} \ No newline at end of file +} diff --git a/vadl/test/vadl/lcb/aarch64/template/EmitRegisterInfoCppFilePassTest.java b/vadl-test/test/vadl/lcb/aarch64/template/EmitRegisterInfoCppFilePassTest.java similarity index 94% rename from vadl/test/vadl/lcb/aarch64/template/EmitRegisterInfoCppFilePassTest.java rename to vadl-test/test/vadl/lcb/aarch64/template/EmitRegisterInfoCppFilePassTest.java index ff0d5e1c9..69b078094 100644 --- a/vadl/test/vadl/lcb/aarch64/template/EmitRegisterInfoCppFilePassTest.java +++ b/vadl-test/test/vadl/lcb/aarch64/template/EmitRegisterInfoCppFilePassTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -48,7 +48,7 @@ void testLowering() throws IOException, DuplicatedPassKeyException { var output = trimmed.lines().map(String::trim); var fs = new File( - "test/resources/snapshots/aarch64/RegisterInfo.cpp"); + "resources/snapshots/aarch64/RegisterInfo.cpp"); var expected = FileUtils.readFileToString(fs, "UTF-8"); Assertions.assertLinesMatch(expected.trim().lines().map(String::trim), output); diff --git a/vadl/test/vadl/lcb/aarch64/template/EmitRegisterInfoTableGenFilePassTest.java b/vadl-test/test/vadl/lcb/aarch64/template/EmitRegisterInfoTableGenFilePassTest.java similarity index 92% rename from vadl/test/vadl/lcb/aarch64/template/EmitRegisterInfoTableGenFilePassTest.java rename to vadl-test/test/vadl/lcb/aarch64/template/EmitRegisterInfoTableGenFilePassTest.java index 1f89c58aa..7551ac453 100644 --- a/vadl/test/vadl/lcb/aarch64/template/EmitRegisterInfoTableGenFilePassTest.java +++ b/vadl-test/test/vadl/lcb/aarch64/template/EmitRegisterInfoTableGenFilePassTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -25,7 +25,6 @@ import org.testcontainers.shaded.com.google.common.io.Files; import vadl.gcb.valuetypes.TargetName; import vadl.lcb.AbstractLcbTest; -import vadl.lcb.template.lib.Target.EmitRegisterInfoCppFilePass; import vadl.lcb.template.lib.Target.EmitRegisterInfoTableGenFilePass; import vadl.pass.PassKey; import vadl.pass.exception.DuplicatedPassKeyException; @@ -51,7 +50,7 @@ void testLowering() throws IOException, DuplicatedPassKeyException { var output = trimmed.lines().map(String::trim); var fs = new File( - "test/resources/snapshots/aarch64/RegisterInfo.td"); + "resources/snapshots/aarch64/RegisterInfo.td"); var expected = FileUtils.readFileToString(fs, "UTF-8"); Assertions.assertLinesMatch(expected.trim().lines().map(String::trim), output); diff --git a/vadl/test/vadl/lcb/codegen/docker/EncodingCodeGeneratorTestInputs.java b/vadl-test/test/vadl/lcb/codegen/docker/EncodingCodeGeneratorTestInputs.java similarity index 100% rename from vadl/test/vadl/lcb/codegen/docker/EncodingCodeGeneratorTestInputs.java rename to vadl-test/test/vadl/lcb/codegen/docker/EncodingCodeGeneratorTestInputs.java diff --git a/vadl/test/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapperTest.java b/vadl-test/test/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapperTest.java similarity index 100% rename from vadl/test/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapperTest.java rename to vadl-test/test/vadl/lcb/passes/llvmLowering/domain/SelectionDagToISDNameMapperTest.java diff --git a/vadl/test/vadl/lcb/riscv/AbstractLcbBenchmarkTest.java b/vadl-test/test/vadl/lcb/riscv/AbstractLcbBenchmarkTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/AbstractLcbBenchmarkTest.java rename to vadl-test/test/vadl/lcb/riscv/AbstractLcbBenchmarkTest.java diff --git a/vadl/test/vadl/lcb/riscv/DockerRiscvImageProvider.java b/vadl-test/test/vadl/lcb/riscv/DockerRiscvImageProvider.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/DockerRiscvImageProvider.java rename to vadl-test/test/vadl/lcb/riscv/DockerRiscvImageProvider.java diff --git a/vadl/test/vadl/lcb/riscv/LlvmQemuRiscvFileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/LlvmQemuRiscvFileCheckTest.java similarity index 90% rename from vadl/test/vadl/lcb/riscv/LlvmQemuRiscvFileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/LlvmQemuRiscvFileCheckTest.java index 1b934a13d..0645f1b6d 100644 --- a/vadl/test/vadl/lcb/riscv/LlvmQemuRiscvFileCheckTest.java +++ b/vadl-test/test/vadl/lcb/riscv/LlvmQemuRiscvFileCheckTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -43,7 +43,7 @@ public abstract class LlvmQemuRiscvFileCheckTest extends LcbDockerInputFileExecu @TestFactory List optLevel0() throws DuplicatedPassKeyException, IOException { return runEach(getSpecPath(), - "test/resources/llvm/riscv/llvmIR/" + getTarget() + "/O0", + "resources/llvm/riscv/llvmIR/" + getTarget() + "/O0", 0, "sh /work/filecheck.sh"); } @@ -51,7 +51,7 @@ List optLevel0() throws DuplicatedPassKeyException, IOException { @TestFactory List optLevel3() throws DuplicatedPassKeyException, IOException { return runEach(getSpecPath(), - "test/resources/llvm/riscv/llvmIR/" + getTarget() + "/O3", + "resources/llvm/riscv/llvmIR/" + getTarget() + "/O3", 3, "sh /work/filecheck.sh"); } diff --git a/vadl/test/vadl/lcb/riscv/QemuRiscvSimulationTest.java b/vadl-test/test/vadl/lcb/riscv/QemuRiscvSimulationTest.java similarity index 76% rename from vadl/test/vadl/lcb/riscv/QemuRiscvSimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/QemuRiscvSimulationTest.java index 64bc23ac1..ae60b0364 100644 --- a/vadl/test/vadl/lcb/riscv/QemuRiscvSimulationTest.java +++ b/vadl-test/test/vadl/lcb/riscv/QemuRiscvSimulationTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -40,10 +40,10 @@ public abstract class QemuRiscvSimulationTest extends LcbDockerInputFileExecutio @TestFactory List optLevel0() throws DuplicatedPassKeyException, IOException { return runEach(getSpecPath(), - List.of("test/resources/llvm/riscv/qemu_libc/", - "test/resources/llvm/riscv/qemu_libc/fp/", - "test/resources/llvm/riscv/qemu_libc/" + getTarget(), - "test/resources/llvm/riscv/qemu_nolibc/" + List.of("resources/llvm/riscv/qemu_libc/", + "resources/llvm/riscv/qemu_libc/fp/", + "resources/llvm/riscv/qemu_libc/" + getTarget(), + "resources/llvm/riscv/qemu_nolibc/" ), 0, "sh /work/compile.sh"); @@ -52,10 +52,10 @@ List optLevel0() throws DuplicatedPassKeyException, IOException { @TestFactory List optLevel3() throws DuplicatedPassKeyException, IOException { return runEach(getSpecPath(), - List.of("test/resources/llvm/riscv/qemu_libc/", - "test/resources/llvm/riscv/qemu_libc/fp/", - "test/resources/llvm/riscv/qemu_libc/" + getTarget(), - "test/resources/llvm/riscv/qemu_nolibc/" + List.of("resources/llvm/riscv/qemu_libc/", + "resources/llvm/riscv/qemu_libc/fp/", + "resources/llvm/riscv/qemu_libc/" + getTarget(), + "resources/llvm/riscv/qemu_nolibc/" ), 3, "sh /work/compile.sh"); diff --git a/vadl/test/vadl/lcb/riscv/riscv32/AsmGenRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/AsmGenRiscv32FileCheckTest.java similarity index 96% rename from vadl/test/vadl/lcb/riscv/riscv32/AsmGenRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/AsmGenRiscv32FileCheckTest.java index 78000278f..4d4d3c2a4 100644 --- a/vadl/test/vadl/lcb/riscv/riscv32/AsmGenRiscv32FileCheckTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv32/AsmGenRiscv32FileCheckTest.java @@ -66,7 +66,7 @@ protected LcbConfiguration getConfiguration() { @TestFactory List testAsm() throws DuplicatedPassKeyException, IOException { return runEach("sys/risc-v/rv32imAsmGen.vadl", - "test/resources/llvm/riscv/asm/rv32im/" + getComponent(), + "resources/llvm/riscv/asm/rv32im/" + getComponent(), 0, "sh /work/filecheck.sh"); } diff --git a/vadl/test/vadl/lcb/riscv/riscv32/AsmRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/AsmRiscv32FileCheckTest.java similarity index 93% rename from vadl/test/vadl/lcb/riscv/riscv32/AsmRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/AsmRiscv32FileCheckTest.java index dcad2a53e..7bf61eded 100644 --- a/vadl/test/vadl/lcb/riscv/riscv32/AsmRiscv32FileCheckTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv32/AsmRiscv32FileCheckTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -62,7 +62,7 @@ protected LcbConfiguration getConfiguration() { @TestFactory List testAsm() throws DuplicatedPassKeyException, IOException { return runEach("sys/risc-v/rv32im.vadl", - "test/resources/llvm/riscv/asm/rv32im/" + getComponent(), + "resources/llvm/riscv/asm/rv32im/" + getComponent(), 0, "sh /work/filecheck.sh"); } diff --git a/vadl/test/vadl/lcb/riscv/riscv32/EmbenchBenchmarkRiscv32Test.java b/vadl-test/test/vadl/lcb/riscv/riscv32/EmbenchBenchmarkRiscv32Test.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/EmbenchBenchmarkRiscv32Test.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/EmbenchBenchmarkRiscv32Test.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/EmbenchSpikeRiscv32SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/EmbenchSpikeRiscv32SimulationTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/EmbenchSpikeRiscv32SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/EmbenchSpikeRiscv32SimulationTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/GenerateLinkerComponentsRiscv32PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/GenerateLinkerComponentsRiscv32PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/GenerateLinkerComponentsRiscv32PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/GenerateLinkerComponentsRiscv32PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/GenerateRegisterClassesRiscv32PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/GenerateRegisterClassesRiscv32PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/GenerateRegisterClassesRiscv32PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/GenerateRegisterClassesRiscv32PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/IsaMachineInstructionMatchingRiscv32PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/IsaMachineInstructionMatchingRiscv32PassTest.java similarity index 98% rename from vadl/test/vadl/lcb/riscv/riscv32/IsaMachineInstructionMatchingRiscv32PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/IsaMachineInstructionMatchingRiscv32PassTest.java index e10b010ad..eb4c0af62 100644 --- a/vadl/test/vadl/lcb/riscv/riscv32/IsaMachineInstructionMatchingRiscv32PassTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv32/IsaMachineInstructionMatchingRiscv32PassTest.java @@ -28,8 +28,8 @@ import vadl.gcb.passes.MachineInstructionLabel; import vadl.lcb.AbstractLcbTest; import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.LcbGcbPassOrders; import vadl.viam.Definition; public class IsaMachineInstructionMatchingRiscv32PassTest extends AbstractLcbTest { @@ -80,7 +80,7 @@ void shouldFindMatchings(List expectedInstructionName, MachineInstructio var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "sys/risc-v/rv32im.vadl", - PassOrders.lcb(config) + LcbGcbPassOrders.lcb(config) .untilFirst(IsaMachineInstructionMatchingPass.class) ); var passManager = setup.passManager(); @@ -97,4 +97,4 @@ void shouldFindMatchings(List expectedInstructionName, MachineInstructio var result = matchings.get(label).stream().map(Definition::simpleName).sorted().toList(); assertEquals(expectedInstructionName.stream().sorted().toList(), result); } -} \ No newline at end of file +} diff --git a/vadl/test/vadl/lcb/riscv/riscv32/IsaPseudoInstructionMatchingRiscv32PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/IsaPseudoInstructionMatchingRiscv32PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/IsaPseudoInstructionMatchingRiscv32PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/IsaPseudoInstructionMatchingRiscv32PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/LcbRiscv32SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/LcbRiscv32SimulationTest.java similarity index 85% rename from vadl/test/vadl/lcb/riscv/riscv32/LcbRiscv32SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/LcbRiscv32SimulationTest.java index d17489625..6efc2cc34 100644 --- a/vadl/test/vadl/lcb/riscv/riscv32/LcbRiscv32SimulationTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv32/LcbRiscv32SimulationTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -28,8 +28,8 @@ public class LcbRiscv32SimulationTest extends LcbDockerInputFileExecutionTest { @TestFactory List optLevel0() throws DuplicatedPassKeyException, IOException { return runEach("sys/risc-v/rv32im.vadl", - List.of("test/resources/llvm/riscv/qemu_nolibc/", - "test/resources/llvm/riscv/qemu_nolibc/rv32im"), + List.of("resources/llvm/riscv/qemu_nolibc/", + "resources/llvm/riscv/qemu_nolibc/rv32im"), 0, "sh /work/lcb_integration.sh" ); @@ -38,8 +38,8 @@ List optLevel0() throws DuplicatedPassKeyException, IOException { @TestFactory List optLevel3() throws DuplicatedPassKeyException, IOException { return runEach("sys/risc-v/rv32im.vadl", - List.of("test/resources/llvm/riscv/qemu_nolibc/", - "test/resources/llvm/riscv/qemu_nolibc/rv32im"), + List.of("resources/llvm/riscv/qemu_nolibc/", + "resources/llvm/riscv/qemu_nolibc/rv32im"), 3, "sh /work/lcb_integration.sh" ); diff --git a/vadl/test/vadl/lcb/riscv/riscv32/LlvmRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/LlvmRiscv32FileCheckTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/LlvmRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/LlvmRiscv32FileCheckTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/QemuRiscv32SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/QemuRiscv32SimulationTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/QemuRiscv32SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/QemuRiscv32SimulationTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmCodeEmitterRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmCodeEmitterRiscv32FileCheckTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/asm/AsmCodeEmitterRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmCodeEmitterRiscv32FileCheckTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenCodeEmitterRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenCodeEmitterRiscv32FileCheckTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenCodeEmitterRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenCodeEmitterRiscv32FileCheckTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenParserRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenParserRiscv32FileCheckTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenParserRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenParserRiscv32FileCheckTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenRiscv32SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenRiscv32SimulationTest.java similarity index 96% rename from vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenRiscv32SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenRiscv32SimulationTest.java index f22aa5059..5ab22cca9 100644 --- a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmGenRiscv32SimulationTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmGenRiscv32SimulationTest.java @@ -28,7 +28,7 @@ public class AsmGenRiscv32SimulationTest extends LcbDockerInputFileExecutionTest @TestFactory List exec() throws DuplicatedPassKeyException, IOException { return runEach("sys/risc-v/rv32imAsmGen.vadl", - "test/resources/llvm/riscv/asm/rv32im/qemu_asm", + "resources/llvm/riscv/asm/rv32im/qemu_asm", 0, "sh /work/asm.sh" ); diff --git a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmParserRiscv32FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmParserRiscv32FileCheckTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv32/asm/AsmParserRiscv32FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmParserRiscv32FileCheckTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmRiscv32SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmRiscv32SimulationTest.java similarity index 93% rename from vadl/test/vadl/lcb/riscv/riscv32/asm/AsmRiscv32SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmRiscv32SimulationTest.java index 31cc19c04..8ae6172ae 100644 --- a/vadl/test/vadl/lcb/riscv/riscv32/asm/AsmRiscv32SimulationTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv32/asm/AsmRiscv32SimulationTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -28,7 +28,7 @@ public class AsmRiscv32SimulationTest extends LcbDockerInputFileExecutionTest { @TestFactory List exec() throws DuplicatedPassKeyException, IOException { return runEach("sys/risc-v/rv32im.vadl", - "test/resources/llvm/riscv/asm/rv32im/qemu_asm", + "resources/llvm/riscv/asm/rv32im/qemu_asm", 0, "sh /work/asm.sh" ); diff --git a/vadl/test/vadl/lcb/riscv/riscv64/CheckMachineInstructionTableGenOperandsRiscv64PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/CheckMachineInstructionTableGenOperandsRiscv64PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/CheckMachineInstructionTableGenOperandsRiscv64PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/CheckMachineInstructionTableGenOperandsRiscv64PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/CheckPseudoInstructionTableGenOperandsRiscv64PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/CheckPseudoInstructionTableGenOperandsRiscv64PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/CheckPseudoInstructionTableGenOperandsRiscv64PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/CheckPseudoInstructionTableGenOperandsRiscv64PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/EmbenchBenchmarkRiscv64Test.java b/vadl-test/test/vadl/lcb/riscv/riscv64/EmbenchBenchmarkRiscv64Test.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/EmbenchBenchmarkRiscv64Test.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/EmbenchBenchmarkRiscv64Test.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/EmbenchQemuRiscv64SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/EmbenchQemuRiscv64SimulationTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/EmbenchQemuRiscv64SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/EmbenchQemuRiscv64SimulationTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/GenerateRegisterClassesRiscv64PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/GenerateRegisterClassesRiscv64PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/GenerateRegisterClassesRiscv64PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/GenerateRegisterClassesRiscv64PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/IsaMachineInstructionMatchingRiscv64PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/IsaMachineInstructionMatchingRiscv64PassTest.java similarity index 98% rename from vadl/test/vadl/lcb/riscv/riscv64/IsaMachineInstructionMatchingRiscv64PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/IsaMachineInstructionMatchingRiscv64PassTest.java index 3fe025a50..309cc7c36 100644 --- a/vadl/test/vadl/lcb/riscv/riscv64/IsaMachineInstructionMatchingRiscv64PassTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv64/IsaMachineInstructionMatchingRiscv64PassTest.java @@ -30,8 +30,8 @@ import vadl.gcb.passes.MachineInstructionLabel; import vadl.lcb.AbstractLcbTest; import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.LcbGcbPassOrders; import vadl.types.BitsType; import vadl.types.DataType; import vadl.viam.Definition; @@ -112,7 +112,7 @@ void shouldFindMatchings(List expectedInstructionName, var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "sys/risc-v/rv64im.vadl", - PassOrders.lcb(config) + LcbGcbPassOrders.lcb(config) .untilFirst(IsaMachineInstructionMatchingPass.class) ); var passManager = setup.passManager(); @@ -141,7 +141,7 @@ void shouldFindMatchingsByExtension(List expectedInstructionName, var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "sys/risc-v/rv64im.vadl", - PassOrders.lcb(config) + LcbGcbPassOrders.lcb(config) .untilFirst(IsaMachineInstructionMatchingPass.class) ); @@ -164,4 +164,4 @@ void shouldFindMatchingsByExtension(List expectedInstructionName, } } } -} \ No newline at end of file +} diff --git a/vadl/test/vadl/lcb/riscv/riscv64/IsaPseudoInstructionMatchingRiscv64PassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/IsaPseudoInstructionMatchingRiscv64PassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/IsaPseudoInstructionMatchingRiscv64PassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/IsaPseudoInstructionMatchingRiscv64PassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/LlvmRiscv64FileCheckTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/LlvmRiscv64FileCheckTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/LlvmRiscv64FileCheckTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/LlvmRiscv64FileCheckTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppNegativeCasesVerificationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppNegativeCasesVerificationTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppNegativeCasesVerificationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppNegativeCasesVerificationTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppPositiveCasesVerificationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppPositiveCasesVerificationTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppPositiveCasesVerificationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/PredicateCodeGeneratorCppPositiveCasesVerificationTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/QemuRiscv64SimulationTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/QemuRiscv64SimulationTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/QemuRiscv64SimulationTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/QemuRiscv64SimulationTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/AsmParser/EmitAsmRecursiveDescentParserHeaderFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitFrameLoweringCppFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitFrameLoweringCppFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/EmitFrameLoweringCppFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitFrameLoweringCppFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitImmediateFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitImmediateFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/EmitImmediateFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitImmediateFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitInstrInfoTableGenFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitInstrInfoTableGenFilePassTest.java similarity index 97% rename from vadl/test/vadl/lcb/riscv/riscv64/template/EmitInstrInfoTableGenFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitInstrInfoTableGenFilePassTest.java index 85f1b1990..afbb4e492 100644 --- a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitInstrInfoTableGenFilePassTest.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitInstrInfoTableGenFilePassTest.java @@ -48,9 +48,9 @@ void testLowering() throws IOException, DuplicatedPassKeyException { var output = trimmed.lines(); var fs = new File( - "test/resources/snapshots/rv64im/InstrInfoTableGen.td"); + "resources/snapshots/rv64im/InstrInfoTableGen.td"); var expected = FileUtils.readFileToString(fs, "UTF-8"); Assertions.assertLinesMatch(expected.trim().lines(), output); } -} \ No newline at end of file +} diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoCppFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoCppFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoCppFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoCppFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoHeaderFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoHeaderFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoHeaderFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoHeaderFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoTableGenFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoTableGenFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoTableGenFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/EmitRegisterInfoTableGenFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/MCTargetDesc/EmitMCInstExpanderCppFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/MCTargetDesc/EmitMCInstExpanderCppFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/MCTargetDesc/EmitMCInstExpanderCppFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/MCTargetDesc/EmitMCInstExpanderCppFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/include/llvm/BinaryFormat/ELFRelocs/EmitTargetElfRelocsDefFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldManualEncodingHeaderFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePassTest.java b/vadl-test/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePassTest.java similarity index 100% rename from vadl/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePassTest.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/template/lld/ELF/Arch/EmitLldTargetRelocationsHeaderFilePassTest.java diff --git a/vadl/test/vadl/lcb/riscv/riscv64/verification/ImmediateExtractionCodeGeneratorCppVerificationRiscv64Test.java b/vadl-test/test/vadl/lcb/riscv/riscv64/verification/ImmediateExtractionCodeGeneratorCppVerificationRiscv64Test.java similarity index 98% rename from vadl/test/vadl/lcb/riscv/riscv64/verification/ImmediateExtractionCodeGeneratorCppVerificationRiscv64Test.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/verification/ImmediateExtractionCodeGeneratorCppVerificationRiscv64Test.java index f1b617355..5f4eeb5c6 100644 --- a/vadl/test/vadl/lcb/riscv/riscv64/verification/ImmediateExtractionCodeGeneratorCppVerificationRiscv64Test.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv64/verification/ImmediateExtractionCodeGeneratorCppVerificationRiscv64Test.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -61,7 +61,7 @@ Collection instructions() throws IOException, DuplicatedPassKeyExce VadlFileUtils.createDirectories(configuration, "encoding", "inputs"); VadlFileUtils.copyDirectory( Path.of( - "test/resources/images/encodingCodeGeneratorCppVerification/"), + "resources/images/encodingCodeGeneratorCppVerification/"), Path.of(configuration.outputPath() + "/encoding/")); } diff --git a/vadl/test/vadl/lcb/riscv/riscv64/verification/RelocationCodeGeneratorCppVerificationRiscv64Test.java b/vadl-test/test/vadl/lcb/riscv/riscv64/verification/RelocationCodeGeneratorCppVerificationRiscv64Test.java similarity index 97% rename from vadl/test/vadl/lcb/riscv/riscv64/verification/RelocationCodeGeneratorCppVerificationRiscv64Test.java rename to vadl-test/test/vadl/lcb/riscv/riscv64/verification/RelocationCodeGeneratorCppVerificationRiscv64Test.java index 7193e1e6b..c4e4f54ff 100644 --- a/vadl/test/vadl/lcb/riscv/riscv64/verification/RelocationCodeGeneratorCppVerificationRiscv64Test.java +++ b/vadl-test/test/vadl/lcb/riscv/riscv64/verification/RelocationCodeGeneratorCppVerificationRiscv64Test.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -63,14 +63,12 @@ Collection instructions() throws IOException, DuplicatedPassKeyExce // Move files into Docker Context { VadlFileUtils.createDirectories(configuration, "encoding", "inputs"); - VadlFileUtils.copyFile(Path.of( - "main/resources/templates/common/vadl-builtins.h" - ), + VadlFileUtils.copyResource("templates/common/vadl-builtins.h", Path.of(configuration.outputPath() + "/vadl-builtins.h") ); VadlFileUtils.copyDirectory( Path.of( - "test/resources/images/encodingCodeGeneratorCppVerification/"), + "resources/images/encodingCodeGeneratorCppVerification/"), Path.of(configuration.outputPath() + "/encoding/")); } diff --git a/vadl/test/vadl/lcb/varrisc/AsmParserVarRiscFileCheckTest.java b/vadl-test/test/vadl/lcb/varrisc/AsmParserVarRiscFileCheckTest.java similarity index 92% rename from vadl/test/vadl/lcb/varrisc/AsmParserVarRiscFileCheckTest.java rename to vadl-test/test/vadl/lcb/varrisc/AsmParserVarRiscFileCheckTest.java index ee59d2503..73c839e89 100644 --- a/vadl/test/vadl/lcb/varrisc/AsmParserVarRiscFileCheckTest.java +++ b/vadl-test/test/vadl/lcb/varrisc/AsmParserVarRiscFileCheckTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -60,7 +60,7 @@ protected LcbConfiguration getConfiguration() { private void copyFileCheckScript(LcbConfiguration configuration) throws IOException { var inputStream = new FileInputStream( - "test/resources/images/lcb_execution_test_" + getTarget() + "/filecheck.sh"); + "resources/images/lcb_execution_test_" + getTarget() + "/filecheck.sh"); var outputStream = new FileOutputStream(configuration.outputPath() + "/lcb/filecheck.sh"); inputStream.transferTo(outputStream); @@ -76,7 +76,7 @@ protected void copyIntoDockerContext(LcbConfiguration configuration) throws IOEx @TestFactory List testAsm() throws DuplicatedPassKeyException, IOException { return runEach("sys/v-risc/ABI.vadl", - "test/resources/llvm/varrisc/asm", + "resources/llvm/varrisc/asm", 0, "sh /work/filecheck.sh"); } diff --git a/vadl/test/vadl/lcb/varrisc/AsmParserVarRiscNoSuffixFileCheckTest.java b/vadl-test/test/vadl/lcb/varrisc/AsmParserVarRiscNoSuffixFileCheckTest.java similarity index 92% rename from vadl/test/vadl/lcb/varrisc/AsmParserVarRiscNoSuffixFileCheckTest.java rename to vadl-test/test/vadl/lcb/varrisc/AsmParserVarRiscNoSuffixFileCheckTest.java index a78d28c56..d7f7f3ffe 100644 --- a/vadl/test/vadl/lcb/varrisc/AsmParserVarRiscNoSuffixFileCheckTest.java +++ b/vadl-test/test/vadl/lcb/varrisc/AsmParserVarRiscNoSuffixFileCheckTest.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -65,7 +65,7 @@ protected LcbConfiguration getConfiguration() { private void copyFileCheckScript(LcbConfiguration configuration) throws IOException { var inputStream = new FileInputStream( - "test/resources/images/lcb_execution_test_" + getTarget() + "/filecheck.sh"); + "resources/images/lcb_execution_test_" + getTarget() + "/filecheck.sh"); var outputStream = new FileOutputStream(configuration.outputPath() + "/lcb/filecheck.sh"); inputStream.transferTo(outputStream); @@ -81,7 +81,7 @@ protected void copyIntoDockerContext(LcbConfiguration configuration) throws IOEx @TestFactory List testAsm() throws DuplicatedPassKeyException, IOException { return runEach("sys/v-risc/ABI_no_suffix.vadl", - "test/resources/llvm/varrisc/asm_no_suffix", + "resources/llvm/varrisc/asm_no_suffix", 0, "sh /work/filecheck.sh"); } diff --git a/vadl/test/vadl/rtl/InstructionBehaviorCheckPass.java b/vadl-test/test/vadl/rtl/InstructionBehaviorCheckPass.java similarity index 100% rename from vadl/test/vadl/rtl/InstructionBehaviorCheckPass.java rename to vadl-test/test/vadl/rtl/InstructionBehaviorCheckPass.java diff --git a/vadl/test/vadl/rtl/PruneIsaPass.java b/vadl-test/test/vadl/rtl/PruneIsaPass.java similarity index 100% rename from vadl/test/vadl/rtl/PruneIsaPass.java rename to vadl-test/test/vadl/rtl/PruneIsaPass.java diff --git a/vadl/test/vadl/rtl/RtlDockerTest.java b/vadl-test/test/vadl/rtl/RtlDockerTest.java similarity index 95% rename from vadl/test/vadl/rtl/RtlDockerTest.java rename to vadl-test/test/vadl/rtl/RtlDockerTest.java index 83a8ae796..4167172bb 100644 --- a/vadl/test/vadl/rtl/RtlDockerTest.java +++ b/vadl-test/test/vadl/rtl/RtlDockerTest.java @@ -25,8 +25,8 @@ import vadl.DockerExecutionTest; import vadl.DockerImage; import vadl.configuration.RtlConfiguration; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.RtlPassOrders; public abstract class RtlDockerTest extends DockerExecutionTest { @@ -41,7 +41,7 @@ protected DockerImage generateRtlImage(String specPath, try { // Generate RTL core - setupPassManagerAndRunSpec(specPath, PassOrders.rtl(configuration)); + setupPassManagerAndRunSpec(specPath, RtlPassOrders.rtl(configuration)); // Return image with generated files return getImage(configuration); diff --git a/vadl/test/vadl/rtl/RtlEmitMinimizedRiscVTest.java b/vadl-test/test/vadl/rtl/RtlEmitMinimizedRiscVTest.java similarity index 89% rename from vadl/test/vadl/rtl/RtlEmitMinimizedRiscVTest.java rename to vadl-test/test/vadl/rtl/RtlEmitMinimizedRiscVTest.java index d82f34b4c..271161e1d 100644 --- a/vadl/test/vadl/rtl/RtlEmitMinimizedRiscVTest.java +++ b/vadl-test/test/vadl/rtl/RtlEmitMinimizedRiscVTest.java @@ -24,8 +24,9 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.configuration.RtlConfiguration; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.RtlPassOrders; +import vadl.pipeline.ViamCreationPass; /** * Simple test of the MiA synthesis and emitting RTL. @@ -46,8 +47,8 @@ void emitMinimizedRV32() throws IOException, DuplicatedPassKeyException { config.setMemory(RtlConfiguration.Memory.async); config.setEmitDebugPrint(false); - var order = PassOrders.rtl(config); - order.addAfterFirst(PassOrders.ViamCreationPass.class, new PruneIsaPass(config, instructions)); + var order = RtlPassOrders.rtl(config); + order.addAfterFirst(ViamCreationPass.class, new PruneIsaPass(config, instructions)); setupPassManagerAndRunSpec("sys/risc-v/mia/rv_5stage.vadl", order); } diff --git a/vadl/test/vadl/rtl/RtlLoweringTest.java b/vadl-test/test/vadl/rtl/RtlLoweringTest.java similarity index 96% rename from vadl/test/vadl/rtl/RtlLoweringTest.java rename to vadl-test/test/vadl/rtl/RtlLoweringTest.java index 8e9cca37c..56fb79b63 100644 --- a/vadl/test/vadl/rtl/RtlLoweringTest.java +++ b/vadl-test/test/vadl/rtl/RtlLoweringTest.java @@ -31,9 +31,10 @@ import vadl.pass.Pass; import vadl.pass.PassName; import vadl.pass.PassOrder; -import vadl.pass.PassOrders; import vadl.pass.PassResults; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.RtlPassOrders; +import vadl.pipeline.ViamCreationPass; import vadl.rtl.passes.InstructionProgressGraphCreationPass; import vadl.rtl.passes.InstructionProgressGraphLowerPass; import vadl.rtl.passes.InstructionProgressGraphMergePass; @@ -61,8 +62,8 @@ void instructionBehaviorCheck() throws IOException, DuplicatedPassKeyException { decoderOptions.setGenerator(DecoderOptions.Generator.REGULAR); config.setDecoderOptions(decoderOptions); - var order = PassOrders.rtl(config); - order.addAfterFirst(PassOrders.ViamCreationPass.class, + var order = RtlPassOrders.rtl(config); + order.addAfterFirst(ViamCreationPass.class, new PruneIsaPass(config, instructions, false)); addDumpAndCheck(config, order, InstructionProgressGraphCreationPass.class); diff --git a/vadl/test/vadl/rtl/riscv/RtlRiscVInstructionTest.java b/vadl-test/test/vadl/rtl/riscv/RtlRiscVInstructionTest.java similarity index 100% rename from vadl/test/vadl/rtl/riscv/RtlRiscVInstructionTest.java rename to vadl-test/test/vadl/rtl/riscv/RtlRiscVInstructionTest.java diff --git a/vadl/test/vadl/utils/DisassemblerTest.java b/vadl-test/test/vadl/utils/DisassemblerTest.java similarity index 100% rename from vadl/test/vadl/utils/DisassemblerTest.java rename to vadl-test/test/vadl/utils/DisassemblerTest.java diff --git a/vadl/test/vadl/utils/MemOrderUtilsTest.java b/vadl-test/test/vadl/utils/MemOrderUtilsTest.java similarity index 100% rename from vadl/test/vadl/utils/MemOrderUtilsTest.java rename to vadl-test/test/vadl/utils/MemOrderUtilsTest.java diff --git a/vadl/test/vadl/utils/SourceLocationTest.java b/vadl-test/test/vadl/utils/SourceLocationTest.java similarity index 100% rename from vadl/test/vadl/utils/SourceLocationTest.java rename to vadl-test/test/vadl/utils/SourceLocationTest.java diff --git a/vadl/test/vadl/utils/StreamUtilsTest.java b/vadl-test/test/vadl/utils/StreamUtilsTest.java similarity index 100% rename from vadl/test/vadl/utils/StreamUtilsTest.java rename to vadl-test/test/vadl/utils/StreamUtilsTest.java diff --git a/vadl/test/vadl/utils/codegen/StringBuilderAppendableTest.java b/vadl-test/test/vadl/utils/codegen/StringBuilderAppendableTest.java similarity index 100% rename from vadl/test/vadl/utils/codegen/StringBuilderAppendableTest.java rename to vadl-test/test/vadl/utils/codegen/StringBuilderAppendableTest.java diff --git a/vadl/test/vadl/vdt/AbstractDecisionTreeTest.java b/vadl-test/test/vadl/vdt/AbstractDecisionTreeTest.java similarity index 100% rename from vadl/test/vadl/vdt/AbstractDecisionTreeTest.java rename to vadl-test/test/vadl/vdt/AbstractDecisionTreeTest.java diff --git a/vadl/test/vadl/vdt/impl/irregular/Aarch64Test.java b/vadl-test/test/vadl/vdt/impl/irregular/Aarch64Test.java similarity index 96% rename from vadl/test/vadl/vdt/impl/irregular/Aarch64Test.java rename to vadl-test/test/vadl/vdt/impl/irregular/Aarch64Test.java index 2f6401b63..fcd98b1b5 100644 --- a/vadl/test/vadl/vdt/impl/irregular/Aarch64Test.java +++ b/vadl-test/test/vadl/vdt/impl/irregular/Aarch64Test.java @@ -29,6 +29,7 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.vdt.model.Node; @@ -56,7 +57,7 @@ void testGenerateVDT() throws IOException, DuplicatedPassKeyException { var spec = runAndGetViamSpecification("sys/aarch64/virt.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); manager.add(new VdtLoweringPass(config)); @@ -85,7 +86,7 @@ void testVDTChecksAllBits() throws IOException, DuplicatedPassKeyException { var spec = runAndGetViamSpecification("sys/aarch64/virt.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); manager.add(new VdtLoweringPass(config)); diff --git a/vadl/test/vadl/vdt/impl/irregular/IrregularDecodeTreeGeneratorTest.java b/vadl-test/test/vadl/vdt/impl/irregular/IrregularDecodeTreeGeneratorTest.java similarity index 98% rename from vadl/test/vadl/vdt/impl/irregular/IrregularDecodeTreeGeneratorTest.java rename to vadl-test/test/vadl/vdt/impl/irregular/IrregularDecodeTreeGeneratorTest.java index ce1863809..b64b96dba 100644 --- a/vadl/test/vadl/vdt/impl/irregular/IrregularDecodeTreeGeneratorTest.java +++ b/vadl-test/test/vadl/vdt/impl/irregular/IrregularDecodeTreeGeneratorTest.java @@ -42,6 +42,7 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.Pass; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; @@ -376,7 +377,7 @@ void testEncodingConstraints() throws DuplicatedPassKeyException, IOException { var spec = TestUtils.compileToViam(TEST_ISA); var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(new VdtInputPreparationPass(config)); passManager.add(new VdtConstraintSynthesisPass(config)); passManager.add(new VdtLoweringPass(config)); @@ -429,7 +430,7 @@ void testEncodingConstraints_checkRemainingConditions() """); var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(new VdtInputPreparationPass(config)); passManager.add(new VdtConstraintSynthesisPass(config)); passManager.add(new VdtLoweringPass(config)); @@ -480,7 +481,7 @@ void testEncodingConstraints_checkRemainingConditions_parameterized(String fixed """.formatted(constraint, fixedEncoding)); var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(new VdtInputPreparationPass(config)); passManager.add(new VdtConstraintSynthesisPass(config)); passManager.add(new VdtLoweringPass(config)); @@ -552,7 +553,7 @@ void test_handleEmptyUnmatchingConditions_test1() throws DuplicatedPassKeyExcept new IssConfiguration(new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE)); var spec = TestUtils.compileToViam(vadl); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtEncodingConstraintValidationPass(config)); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtEncodingSemanticVerificationPass(config)); @@ -611,7 +612,7 @@ void test_handleEmptyUnmatchingConditions_test2() throws DuplicatedPassKeyExcept new IssConfiguration(new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE)); var spec = TestUtils.compileToViam(vadl); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtEncodingConstraintValidationPass(config)); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtEncodingSemanticVerificationPass(config)); diff --git a/vadl/test/vadl/vdt/impl/irregular/RiscVTest.java b/vadl-test/test/vadl/vdt/impl/irregular/RiscVTest.java similarity index 96% rename from vadl/test/vadl/vdt/impl/irregular/RiscVTest.java rename to vadl-test/test/vadl/vdt/impl/irregular/RiscVTest.java index 6383c6b83..9a9758ca7 100644 --- a/vadl/test/vadl/vdt/impl/irregular/RiscVTest.java +++ b/vadl-test/test/vadl/vdt/impl/irregular/RiscVTest.java @@ -28,6 +28,7 @@ import vadl.AbstractTest; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.vdt.model.Node; @@ -53,7 +54,7 @@ void testGenerateVDT() throws IOException, DuplicatedPassKeyException { var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); var spec = runAndGetViamSpecification("sys/risc-v/rv64im.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); manager.add(new VdtLoweringPass(config)); @@ -81,7 +82,7 @@ void testVDTChecksAllBits() throws IOException, DuplicatedPassKeyException { var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); var spec = runAndGetViamSpecification("sys/risc-v/rv64im.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); manager.add(new VdtLoweringPass(config)); diff --git a/vadl/test/vadl/vdt/impl/irregular/VarRiscTest.java b/vadl-test/test/vadl/vdt/impl/irregular/VarRiscTest.java similarity index 96% rename from vadl/test/vadl/vdt/impl/irregular/VarRiscTest.java rename to vadl-test/test/vadl/vdt/impl/irregular/VarRiscTest.java index 8db9ccdd9..9f4a0e421 100644 --- a/vadl/test/vadl/vdt/impl/irregular/VarRiscTest.java +++ b/vadl-test/test/vadl/vdt/impl/irregular/VarRiscTest.java @@ -25,6 +25,7 @@ import vadl.AbstractTest; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.vdt.model.Node; @@ -49,7 +50,7 @@ void testGenerateVDT() throws IOException, DuplicatedPassKeyException { var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); var spec = runAndGetViamSpecification("sys/v-risc/VarRisc.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtEncodingConstraintValidationPass(config)); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); diff --git a/vadl/test/vadl/vdt/impl/irregular/VariableLengthRiscTest.java b/vadl-test/test/vadl/vdt/impl/irregular/VariableLengthRiscTest.java similarity index 100% rename from vadl/test/vadl/vdt/impl/irregular/VariableLengthRiscTest.java rename to vadl-test/test/vadl/vdt/impl/irregular/VariableLengthRiscTest.java diff --git a/vadl/test/vadl/vdt/impl/regular/Aarch64Test.java b/vadl-test/test/vadl/vdt/impl/regular/Aarch64Test.java similarity index 96% rename from vadl/test/vadl/vdt/impl/regular/Aarch64Test.java rename to vadl-test/test/vadl/vdt/impl/regular/Aarch64Test.java index 869b20b7a..c3eec17a2 100644 --- a/vadl/test/vadl/vdt/impl/regular/Aarch64Test.java +++ b/vadl-test/test/vadl/vdt/impl/regular/Aarch64Test.java @@ -27,6 +27,7 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.vdt.model.Node; @@ -52,7 +53,7 @@ void testGenerateVDT() throws IOException, DuplicatedPassKeyException { var spec = runAndGetViamSpecification("sys/aarch64/virt.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); manager.add(new VdtLoweringPass(config)); diff --git a/vadl/test/vadl/vdt/impl/regular/RegularDecodeTreeGeneratorTest.java b/vadl-test/test/vadl/vdt/impl/regular/RegularDecodeTreeGeneratorTest.java similarity index 100% rename from vadl/test/vadl/vdt/impl/regular/RegularDecodeTreeGeneratorTest.java rename to vadl-test/test/vadl/vdt/impl/regular/RegularDecodeTreeGeneratorTest.java diff --git a/vadl/test/vadl/vdt/impl/regular/RiscVTest.java b/vadl-test/test/vadl/vdt/impl/regular/RiscVTest.java similarity index 96% rename from vadl/test/vadl/vdt/impl/regular/RiscVTest.java rename to vadl-test/test/vadl/vdt/impl/regular/RiscVTest.java index e44283e00..0f49254a3 100644 --- a/vadl/test/vadl/vdt/impl/regular/RiscVTest.java +++ b/vadl-test/test/vadl/vdt/impl/regular/RiscVTest.java @@ -29,6 +29,7 @@ import vadl.configuration.DecoderOptions; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.vdt.model.Node; @@ -53,7 +54,7 @@ void testGenerateVDT() throws IOException, DuplicatedPassKeyException { var spec = runAndGetViamSpecification("sys/risc-v/rv64im.vadl"); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtConstraintSynthesisPass(config)); manager.add(new VdtLoweringPass(config)); diff --git a/vadl/test/vadl/vdt/passes/VdtConstraintSynthesisPassTest.java b/vadl-test/test/vadl/vdt/passes/VdtConstraintSynthesisPassTest.java similarity index 97% rename from vadl/test/vadl/vdt/passes/VdtConstraintSynthesisPassTest.java rename to vadl-test/test/vadl/vdt/passes/VdtConstraintSynthesisPassTest.java index 57a3e2f26..7269585d5 100644 --- a/vadl/test/vadl/vdt/passes/VdtConstraintSynthesisPassTest.java +++ b/vadl-test/test/vadl/vdt/passes/VdtConstraintSynthesisPassTest.java @@ -26,6 +26,7 @@ import vadl.TestUtils; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.Pass; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; @@ -80,7 +81,7 @@ void testSynthesizeConstraints() throws DuplicatedPassKeyException, IOException var spec = TestUtils.compileToViam(ISA); var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(new VdtInputPreparationPass(config)); passManager.add(new VdtConstraintSynthesisPass(config)); diff --git a/vadl/test/vadl/vdt/passes/VdtEncodingConstraintTest.java b/vadl-test/test/vadl/vdt/passes/VdtEncodingConstraintTest.java similarity index 100% rename from vadl/test/vadl/vdt/passes/VdtEncodingConstraintTest.java rename to vadl-test/test/vadl/vdt/passes/VdtEncodingConstraintTest.java diff --git a/vadl/test/vadl/vdt/passes/VdtEncodingSemanticVerificationPassTest.java b/vadl-test/test/vadl/vdt/passes/VdtEncodingSemanticVerificationPassTest.java similarity index 96% rename from vadl/test/vadl/vdt/passes/VdtEncodingSemanticVerificationPassTest.java rename to vadl-test/test/vadl/vdt/passes/VdtEncodingSemanticVerificationPassTest.java index 738d78fdd..f5303c550 100644 --- a/vadl/test/vadl/vdt/passes/VdtEncodingSemanticVerificationPassTest.java +++ b/vadl-test/test/vadl/vdt/passes/VdtEncodingSemanticVerificationPassTest.java @@ -28,6 +28,7 @@ import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; import vadl.configuration.IssConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.error.Diagnostic; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; @@ -79,7 +80,7 @@ void testDistinctEncoding_failsOverlappingEncoding() throws DuplicatedPassKeyExc new IssConfiguration(new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE)); var spec = TestUtils.compileToViam(vadl); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtEncodingConstraintValidationPass(config)); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtEncodingSemanticVerificationPass(config)); @@ -124,7 +125,7 @@ void testDistinctEncoding_succeeds() throws DuplicatedPassKeyException, IOExcept new IssConfiguration(new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE)); var spec = TestUtils.compileToViam(vadl); - var manager = new PassManager(); + var manager = new PassManager(new PassFailureDumpHandler()); manager.add(new VdtEncodingConstraintValidationPass(config)); manager.add(new VdtInputPreparationPass(config)); manager.add(new VdtEncodingSemanticVerificationPass(config)); diff --git a/vadl/test/vadl/vdt/passes/VdtInputPreparationPassTest.java b/vadl-test/test/vadl/vdt/passes/VdtInputPreparationPassTest.java similarity index 96% rename from vadl/test/vadl/vdt/passes/VdtInputPreparationPassTest.java rename to vadl-test/test/vadl/vdt/passes/VdtInputPreparationPassTest.java index 83d50e9b7..b1c5f2247 100644 --- a/vadl/test/vadl/vdt/passes/VdtInputPreparationPassTest.java +++ b/vadl-test/test/vadl/vdt/passes/VdtInputPreparationPassTest.java @@ -24,6 +24,7 @@ import vadl.TestUtils; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; import vadl.pass.exception.DuplicatedPassKeyException; import vadl.vdt.impl.irregular.model.DecodeEntry; @@ -62,7 +63,7 @@ void testPrepareEncoding() throws DuplicatedPassKeyException, IOException { var spec = TestUtils.compileToViam(wrapProg(formula)); var config = new GeneralConfiguration(Path.of("build/test-output"), DumpMode.NONE); - var passManager = new PassManager(); + var passManager = new PassManager(new PassFailureDumpHandler()); passManager.add(new VdtInputPreparationPass(config)); /* WHEN */ diff --git a/vadl/test/vadl/vdt/passes/transform/AbstractConstraintTransformerTest.java b/vadl-test/test/vadl/vdt/passes/transform/AbstractConstraintTransformerTest.java similarity index 100% rename from vadl/test/vadl/vdt/passes/transform/AbstractConstraintTransformerTest.java rename to vadl-test/test/vadl/vdt/passes/transform/AbstractConstraintTransformerTest.java diff --git a/vadl/test/vadl/vdt/passes/transform/EncodingConstraintDNFTransformerTest.java b/vadl-test/test/vadl/vdt/passes/transform/EncodingConstraintDNFTransformerTest.java similarity index 100% rename from vadl/test/vadl/vdt/passes/transform/EncodingConstraintDNFTransformerTest.java rename to vadl-test/test/vadl/vdt/passes/transform/EncodingConstraintDNFTransformerTest.java diff --git a/vadl/test/vadl/vdt/passes/transform/EncodingConstraintNNFTransformerTest.java b/vadl-test/test/vadl/vdt/passes/transform/EncodingConstraintNNFTransformerTest.java similarity index 100% rename from vadl/test/vadl/vdt/passes/transform/EncodingConstraintNNFTransformerTest.java rename to vadl-test/test/vadl/vdt/passes/transform/EncodingConstraintNNFTransformerTest.java diff --git a/vadl/test/vadl/vdt/target/common/DecisionTreeDecoderTest.java b/vadl-test/test/vadl/vdt/target/common/DecisionTreeDecoderTest.java similarity index 100% rename from vadl/test/vadl/vdt/target/common/DecisionTreeDecoderTest.java rename to vadl-test/test/vadl/vdt/target/common/DecisionTreeDecoderTest.java diff --git a/vadl/test/vadl/vdt/target/common/DecisionTreeStatsCalculatorTest.java b/vadl-test/test/vadl/vdt/target/common/DecisionTreeStatsCalculatorTest.java similarity index 100% rename from vadl/test/vadl/vdt/target/common/DecisionTreeStatsCalculatorTest.java rename to vadl-test/test/vadl/vdt/target/common/DecisionTreeStatsCalculatorTest.java diff --git a/vadl/test/vadl/vdt/utils/PatternUtilsTest.java b/vadl-test/test/vadl/vdt/utils/PatternUtilsTest.java similarity index 100% rename from vadl/test/vadl/vdt/utils/PatternUtilsTest.java rename to vadl-test/test/vadl/vdt/utils/PatternUtilsTest.java diff --git a/vadl/test/vadl/viam/CompilerInstructionTest.java b/vadl-test/test/vadl/viam/CompilerInstructionTest.java similarity index 100% rename from vadl/test/vadl/viam/CompilerInstructionTest.java rename to vadl-test/test/vadl/viam/CompilerInstructionTest.java diff --git a/vadl/test/vadl/viam/ConstantTests.java b/vadl-test/test/vadl/viam/ConstantTests.java similarity index 100% rename from vadl/test/vadl/viam/ConstantTests.java rename to vadl-test/test/vadl/viam/ConstantTests.java diff --git a/vadl/test/vadl/viam/FormatTest.java b/vadl-test/test/vadl/viam/FormatTest.java similarity index 100% rename from vadl/test/vadl/viam/FormatTest.java rename to vadl-test/test/vadl/viam/FormatTest.java diff --git a/vadl/test/vadl/viam/FunctionTest.java b/vadl-test/test/vadl/viam/FunctionTest.java similarity index 100% rename from vadl/test/vadl/viam/FunctionTest.java rename to vadl-test/test/vadl/viam/FunctionTest.java diff --git a/vadl/test/vadl/viam/MemoryTest.java b/vadl-test/test/vadl/viam/MemoryTest.java similarity index 100% rename from vadl/test/vadl/viam/MemoryTest.java rename to vadl-test/test/vadl/viam/MemoryTest.java diff --git a/vadl/test/vadl/viam/RegisterTest.java b/vadl-test/test/vadl/viam/RegisterTest.java similarity index 100% rename from vadl/test/vadl/viam/RegisterTest.java rename to vadl-test/test/vadl/viam/RegisterTest.java diff --git a/vadl/test/vadl/viam/RelocationTest.java b/vadl-test/test/vadl/viam/RelocationTest.java similarity index 100% rename from vadl/test/vadl/viam/RelocationTest.java rename to vadl-test/test/vadl/viam/RelocationTest.java diff --git a/vadl/test/vadl/viam/Rv3264imTest.java b/vadl-test/test/vadl/viam/Rv3264imTest.java similarity index 98% rename from vadl/test/vadl/viam/Rv3264imTest.java rename to vadl-test/test/vadl/viam/Rv3264imTest.java index 97871f83c..efe0d82a6 100644 --- a/vadl/test/vadl/viam/Rv3264imTest.java +++ b/vadl-test/test/vadl/viam/Rv3264imTest.java @@ -28,8 +28,8 @@ import org.opentest4j.AssertionFailedError; import vadl.AbstractTest; import vadl.TestUtils; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.ViamPassOrders; import vadl.types.Type; /** @@ -82,7 +82,7 @@ Specification getSpecification(String rvFile) throws IOException, DuplicatedPass var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "sys/risc-v/" + rvFile, - PassOrders.viam(config) + ViamPassOrders.viam(config) ); return setup.specification(); } diff --git a/vadl/test/vadl/viam/ViamSnapshotDumper.java b/vadl-test/test/vadl/viam/ViamSnapshotDumper.java similarity index 100% rename from vadl/test/vadl/viam/ViamSnapshotDumper.java rename to vadl-test/test/vadl/viam/ViamSnapshotDumper.java diff --git a/vadl/test/vadl/viam/ViamSnapshotTest.java b/vadl-test/test/vadl/viam/ViamSnapshotTest.java similarity index 97% rename from vadl/test/vadl/viam/ViamSnapshotTest.java rename to vadl-test/test/vadl/viam/ViamSnapshotTest.java index 3d68806fe..86240a22c 100644 --- a/vadl/test/vadl/viam/ViamSnapshotTest.java +++ b/vadl-test/test/vadl/viam/ViamSnapshotTest.java @@ -42,7 +42,7 @@ class ViamSnapshotTest { @TestFactory Stream snapshotTests() throws IOException { - return Files.walk(Paths.get("test/resources/viam-snapshots")) + return Files.walk(Paths.get("resources/viam-snapshots")) .filter(path -> path.toString().endsWith(".vadl")) .map(path -> DynamicTest.dynamicTest(path.toString(), () -> runSnapshotTest(path))); } diff --git a/vadl/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationSpecTest.java b/vadl-test/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationSpecTest.java similarity index 97% rename from vadl/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationSpecTest.java rename to vadl-test/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationSpecTest.java index 77a33beeb..39ccdd747 100644 --- a/vadl/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationSpecTest.java +++ b/vadl-test/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationSpecTest.java @@ -23,8 +23,8 @@ import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.TestFactory; import vadl.AbstractTest; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.ViamPassOrders; import vadl.viam.graph.dependency.BuiltInCall; import vadl.viam.graph.dependency.TupleGetFieldNode; import vadl.viam.passes.algebraic_simplication.AlgebraicSimplificationPass; @@ -42,7 +42,7 @@ Stream checkIfBuiltInOptimized() throws IOException, DuplicatedPass var config = getConfiguration(false); var setup = setupPassManagerAndRunSpec( "passes/algebraicSimplification/algebraic_simplification.vadl", - PassOrders.viam(config) + ViamPassOrders.viam(config) .untilFirst(AlgebraicSimplificationPass.class) .skip(StatusBuiltInInlinePass.class) .add(new ViamVerificationPass(config)) diff --git a/vadl/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationTest.java b/vadl-test/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationTest.java similarity index 100% rename from vadl/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationTest.java rename to vadl-test/test/vadl/viam/algebraic_simplification/AlgebraicSimplificationTest.java diff --git a/vadl/test/vadl/viam/canonicalization/BuiltInConstantEvaluationTest.java b/vadl-test/test/vadl/viam/canonicalization/BuiltInConstantEvaluationTest.java similarity index 95% rename from vadl/test/vadl/viam/canonicalization/BuiltInConstantEvaluationTest.java rename to vadl-test/test/vadl/viam/canonicalization/BuiltInConstantEvaluationTest.java index a25f498fe..99524da8b 100644 --- a/vadl/test/vadl/viam/canonicalization/BuiltInConstantEvaluationTest.java +++ b/vadl-test/test/vadl/viam/canonicalization/BuiltInConstantEvaluationTest.java @@ -28,9 +28,10 @@ import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.TestFactory; import vadl.AbstractTest; +import vadl.dump.PassFailureDumpHandler; import vadl.pass.PassManager; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.ViamPassOrders; import vadl.utils.VadlFileUtils; import vadl.viam.Constant; import vadl.viam.Function; @@ -71,8 +72,8 @@ Stream constantEvalTest() throws IOException, DuplicatedPassKeyExce // get and run spec var spec = runAndGetViamSpecification(processedSource); - var passManager = new PassManager(); - passManager.add(PassOrders.viam(config) + var passManager = new PassManager(new PassFailureDumpHandler()); + passManager.add(ViamPassOrders.viam(config) .untilFirst(CanonicalizationPass.class) .add(new ViamVerificationPass(config))); passManager.run(spec); diff --git a/vadl/test/vadl/viam/graph/CanonicalizerTest.java b/vadl-test/test/vadl/viam/graph/CanonicalizerTest.java similarity index 100% rename from vadl/test/vadl/viam/graph/CanonicalizerTest.java rename to vadl-test/test/vadl/viam/graph/CanonicalizerTest.java diff --git a/vadl/test/vadl/viam/graph/GraphBuildingTests.java b/vadl-test/test/vadl/viam/graph/GraphBuildingTests.java similarity index 100% rename from vadl/test/vadl/viam/graph/GraphBuildingTests.java rename to vadl-test/test/vadl/viam/graph/GraphBuildingTests.java diff --git a/vadl/test/vadl/viam/graph/GraphMatchers.java b/vadl-test/test/vadl/viam/graph/GraphMatchers.java similarity index 100% rename from vadl/test/vadl/viam/graph/GraphMatchers.java rename to vadl-test/test/vadl/viam/graph/GraphMatchers.java diff --git a/vadl/test/vadl/viam/graph/NodeLocationTests.java b/vadl-test/test/vadl/viam/graph/NodeLocationTests.java similarity index 100% rename from vadl/test/vadl/viam/graph/NodeLocationTests.java rename to vadl-test/test/vadl/viam/graph/NodeLocationTests.java diff --git a/vadl/test/vadl/viam/graph/NodeVerificationTests.java b/vadl-test/test/vadl/viam/graph/NodeVerificationTests.java similarity index 100% rename from vadl/test/vadl/viam/graph/NodeVerificationTests.java rename to vadl-test/test/vadl/viam/graph/NodeVerificationTests.java diff --git a/vadl/test/vadl/viam/graph/TestGraphVisitor.java b/vadl-test/test/vadl/viam/graph/TestGraphVisitor.java similarity index 100% rename from vadl/test/vadl/viam/graph/TestGraphVisitor.java rename to vadl-test/test/vadl/viam/graph/TestGraphVisitor.java diff --git a/vadl/test/vadl/viam/graph/VisualizationTest.java b/vadl-test/test/vadl/viam/graph/VisualizationTest.java similarity index 100% rename from vadl/test/vadl/viam/graph/VisualizationTest.java rename to vadl-test/test/vadl/viam/graph/VisualizationTest.java diff --git a/vadl/test/vadl/viam/graph/dependency/BuiltInCallTest.java b/vadl-test/test/vadl/viam/graph/dependency/BuiltInCallTest.java similarity index 100% rename from vadl/test/vadl/viam/graph/dependency/BuiltInCallTest.java rename to vadl-test/test/vadl/viam/graph/dependency/BuiltInCallTest.java diff --git a/vadl/test/vadl/viam/helper/DummyDefinition.java b/vadl-test/test/vadl/viam/helper/DummyDefinition.java similarity index 100% rename from vadl/test/vadl/viam/helper/DummyDefinition.java rename to vadl-test/test/vadl/viam/helper/DummyDefinition.java diff --git a/vadl/test/vadl/viam/helper/TestGraph.java b/vadl-test/test/vadl/viam/helper/TestGraph.java similarity index 100% rename from vadl/test/vadl/viam/helper/TestGraph.java rename to vadl-test/test/vadl/viam/helper/TestGraph.java diff --git a/vadl/test/vadl/viam/helper/TestGraphUtils.java b/vadl-test/test/vadl/viam/helper/TestGraphUtils.java similarity index 100% rename from vadl/test/vadl/viam/helper/TestGraphUtils.java rename to vadl-test/test/vadl/viam/helper/TestGraphUtils.java diff --git a/vadl/test/vadl/viam/helper/TestNodes.java b/vadl-test/test/vadl/viam/helper/TestNodes.java similarity index 100% rename from vadl/test/vadl/viam/helper/TestNodes.java rename to vadl-test/test/vadl/viam/helper/TestNodes.java diff --git a/vadl/test/vadl/viam/matching/impl/AnyConstantValueMatcherTest.java b/vadl-test/test/vadl/viam/matching/impl/AnyConstantValueMatcherTest.java similarity index 100% rename from vadl/test/vadl/viam/matching/impl/AnyConstantValueMatcherTest.java rename to vadl-test/test/vadl/viam/matching/impl/AnyConstantValueMatcherTest.java diff --git a/vadl/test/vadl/viam/matching/impl/BuiltInMatcherTest.java b/vadl-test/test/vadl/viam/matching/impl/BuiltInMatcherTest.java similarity index 100% rename from vadl/test/vadl/viam/matching/impl/BuiltInMatcherTest.java rename to vadl-test/test/vadl/viam/matching/impl/BuiltInMatcherTest.java diff --git a/vadl/test/vadl/viam/matching/impl/ConstantValueMatcherTest.java b/vadl-test/test/vadl/viam/matching/impl/ConstantValueMatcherTest.java similarity index 100% rename from vadl/test/vadl/viam/matching/impl/ConstantValueMatcherTest.java rename to vadl-test/test/vadl/viam/matching/impl/ConstantValueMatcherTest.java diff --git a/vadl/test/vadl/viam/matching/impl/FuncParamMatcherTest.java b/vadl-test/test/vadl/viam/matching/impl/FuncParamMatcherTest.java similarity index 100% rename from vadl/test/vadl/viam/matching/impl/FuncParamMatcherTest.java rename to vadl-test/test/vadl/viam/matching/impl/FuncParamMatcherTest.java diff --git a/vadl/test/vadl/viam/passes/DuplicateWriteDetectionPassTest.java b/vadl-test/test/vadl/viam/passes/DuplicateWriteDetectionPassTest.java similarity index 91% rename from vadl/test/vadl/viam/passes/DuplicateWriteDetectionPassTest.java rename to vadl-test/test/vadl/viam/passes/DuplicateWriteDetectionPassTest.java index 2ccd99f21..b455ed761 100644 --- a/vadl/test/vadl/viam/passes/DuplicateWriteDetectionPassTest.java +++ b/vadl-test/test/vadl/viam/passes/DuplicateWriteDetectionPassTest.java @@ -28,9 +28,10 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import vadl.AbstractTest; +import vadl.dump.PassOrderDumps; import vadl.error.DiagnosticList; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.ViamPassOrders; public class DuplicateWriteDetectionPassTest extends AbstractTest { @@ -66,7 +67,7 @@ void testInvalid(String name, int numErrs, String errmsg) var err = assertThrows(DiagnosticList.class, () -> setupPassManagerAndRunSpec( "passes/singleResourceWriteValidation/invalid_" + name + ".vadl", - PassOrders.viam(getConfiguration(false)) + ViamPassOrders.viam(getConfiguration(false)) .untilFirst(DuplicateWriteDetectionPass.class) )); @@ -82,9 +83,10 @@ void testInvalid(String name, int numErrs, String errmsg) void validTest(String test) throws IOException, DuplicatedPassKeyException { setupPassManagerAndRunSpec( test, - PassOrders.viam(getConfiguration(false)) - .untilFirst(DuplicateWriteDetectionPass.class) - .addDump("test-weird") + PassOrderDumps.addDump( + ViamPassOrders.viam(getConfiguration(false)) + .untilFirst(DuplicateWriteDetectionPass.class), + "test-weird") ); } diff --git a/vadl/test/vadl/viam/passes/SideEffectConditionResolvingPassTest.java b/vadl-test/test/vadl/viam/passes/SideEffectConditionResolvingPassTest.java similarity index 99% rename from vadl/test/vadl/viam/passes/SideEffectConditionResolvingPassTest.java rename to vadl-test/test/vadl/viam/passes/SideEffectConditionResolvingPassTest.java index 9eb9b4b47..dfa75964d 100644 --- a/vadl/test/vadl/viam/passes/SideEffectConditionResolvingPassTest.java +++ b/vadl-test/test/vadl/viam/passes/SideEffectConditionResolvingPassTest.java @@ -31,8 +31,8 @@ import vadl.TestUtils; import vadl.configuration.DumpMode; import vadl.configuration.GeneralConfiguration; -import vadl.pass.PassOrders; import vadl.pass.exception.DuplicatedPassKeyException; +import vadl.pipeline.ViamPassOrders; import vadl.types.BuiltInTable; import vadl.viam.Constant; import vadl.viam.Instruction; @@ -188,7 +188,7 @@ Stream sideEffectConditionResolvingPass() var config = new GeneralConfiguration(Path.of("build/test-out"), DumpMode.ALWAYS); var setup = setupPassManagerAndRunSpec( "passes/sideEffectConditionResolving/valid_test_cases.vadl", - PassOrders.viam(config) + ViamPassOrders.viam(config) .untilFirst(SideEffectConditionResolvingPass.class) .add(new ViamVerificationPass(config)) ); diff --git a/vadl/test/vadl/viam/passes/TypeCastEliminationTest.java b/vadl-test/test/vadl/viam/passes/TypeCastEliminationTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/TypeCastEliminationTest.java rename to vadl-test/test/vadl/viam/passes/TypeCastEliminationTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/AdditionWithZeroSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithFalseSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/AndWithTrueSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/DivisionWithOneSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithOneSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/MultiplicationWithZeroSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithFalseSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/OrWithTrueSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRuleTest.java b/vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRuleTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRuleTest.java rename to vadl-test/test/vadl/viam/passes/algebraic_simplication/rules/impl/RemainderWithOneSimplificationRuleTest.java diff --git a/vadl/test/vadl/viam/passes/constant_propagation/CanonicalizationPassTest.java b/vadl-test/test/vadl/viam/passes/constant_propagation/CanonicalizationPassTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/constant_propagation/CanonicalizationPassTest.java rename to vadl-test/test/vadl/viam/passes/constant_propagation/CanonicalizationPassTest.java diff --git a/vadl/test/vadl/viam/passes/htmlDump/HtmlDumpTest.java b/vadl-test/test/vadl/viam/passes/htmlDump/HtmlDumpTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/htmlDump/HtmlDumpTest.java rename to vadl-test/test/vadl/viam/passes/htmlDump/HtmlDumpTest.java diff --git a/vadl/test/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInlineTest.java b/vadl-test/test/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInlineTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInlineTest.java rename to vadl-test/test/vadl/viam/passes/statusBuiltInInlinePass/ArithmeticInlineTest.java diff --git a/vadl/test/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltinInlineTest.java b/vadl-test/test/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltinInlineTest.java similarity index 100% rename from vadl/test/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltinInlineTest.java rename to vadl-test/test/vadl/viam/passes/statusBuiltInInlinePass/StatusBuiltinInlineTest.java diff --git a/vadl-vdt/build.gradle.kts b/vadl-vdt/build.gradle.kts new file mode 100644 index 000000000..3318e1d6e --- /dev/null +++ b/vadl-vdt/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + id("conventions-jvm") + alias(libs.plugins.z3) +} + +dependencies { + annotationProcessor(project(":java-annotations")) + compileOnly(project(":java-annotations")) + implementation(project(":vadl-core")) + implementation(project(":vadl-pass-api")) + implementation(libs.commons.lang3) + implementation(libs.z3.bootstrap) +} diff --git a/vadl-vdt/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider b/vadl-vdt/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider new file mode 100644 index 000000000..c2804d798 --- /dev/null +++ b/vadl-vdt/main/resources/META-INF/services/vadl.dump.HtmlDumpExtensionProvider @@ -0,0 +1 @@ +vadl.dump.VdtHtmlDumpExtensionProvider diff --git a/vadl-vdt/main/vadl/dump/VdtHtmlDumpExtensionProvider.java b/vadl-vdt/main/vadl/dump/VdtHtmlDumpExtensionProvider.java new file mode 100644 index 000000000..0ef606854 --- /dev/null +++ b/vadl-vdt/main/vadl/dump/VdtHtmlDumpExtensionProvider.java @@ -0,0 +1,42 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package vadl.dump; + +import java.util.List; +import vadl.dump.entitySuppliers.VdtEntitySupplier; +import vadl.dump.infoEnrichers.VdtEnricherCollection; + +/** + * Registers VDT-specific HTML dump extensions. + */ +public class VdtHtmlDumpExtensionProvider implements HtmlDumpExtensionProvider { + + @Override + public int priority() { + return 100; + } + + @Override + public void addEntitySuppliers(List> suppliers) { + suppliers.add(new VdtEntitySupplier()); + } + + @Override + public void addInfoEnrichers(List enrichers) { + enrichers.addAll(VdtEnricherCollection.all); + } +} diff --git a/vadl/main/vadl/dump/entities/VdtEntity.java b/vadl-vdt/main/vadl/dump/entities/VdtEntity.java similarity index 100% rename from vadl/main/vadl/dump/entities/VdtEntity.java rename to vadl-vdt/main/vadl/dump/entities/VdtEntity.java diff --git a/vadl/main/vadl/dump/entitySuppliers/VdtEntitySupplier.java b/vadl-vdt/main/vadl/dump/entitySuppliers/VdtEntitySupplier.java similarity index 100% rename from vadl/main/vadl/dump/entitySuppliers/VdtEntitySupplier.java rename to vadl-vdt/main/vadl/dump/entitySuppliers/VdtEntitySupplier.java diff --git a/vadl/main/vadl/dump/infoEnrichers/VdtEnricherCollection.java b/vadl-vdt/main/vadl/dump/infoEnrichers/VdtEnricherCollection.java similarity index 100% rename from vadl/main/vadl/dump/infoEnrichers/VdtEnricherCollection.java rename to vadl-vdt/main/vadl/dump/infoEnrichers/VdtEnricherCollection.java diff --git a/vadl-vdt/main/vadl/pipeline/VdtPassOrders.java b/vadl-vdt/main/vadl/pipeline/VdtPassOrders.java new file mode 100644 index 000000000..378b92014 --- /dev/null +++ b/vadl-vdt/main/vadl/pipeline/VdtPassOrders.java @@ -0,0 +1,75 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later + +package vadl.pipeline; + +import static vadl.configuration.DecoderOptions.OptionToSkip.OPT_CONSTRAINT_SYNTHESIS; +import static vadl.configuration.DecoderOptions.OptionToSkip.OPT_DECODER_VERIFICATION; +import static vadl.configuration.DecoderOptions.OptionToSkip.OPT_ENCODING_VERIFICATION; + +import java.util.stream.Stream; +import vadl.configuration.GeneralConfiguration; +import vadl.pass.PassOrder; +import vadl.vdt.passes.VdtConstraintSynthesisPass; +import vadl.vdt.passes.VdtEncodingConstraintValidationPass; +import vadl.vdt.passes.VdtEncodingSemanticVerificationPass; +import vadl.vdt.passes.VdtInputPreparationPass; +import vadl.vdt.passes.VdtLoweringPass; +import vadl.vdt.passes.VdtVerificationPass; + +/** + * Shared VDT pipeline fragments. + */ +public final class VdtPassOrders { + private VdtPassOrders() { + } + + /** + * Creates the frontend-plus-VDT verification pipeline. + */ + public static PassOrder check(GeneralConfiguration configuration) { + var order = new PassOrder(); + order.add(new ViamCreationPass(configuration)); + + PassOrderPipelineUtils.addHtmlDump(order, configuration, "VIAM Creation", + "Dump directly after frontend generated VIAM."); + + order.add(new vadl.viam.passes.verification.ViamVerificationPass(configuration)); + addDecodePasses(order, configuration); + + PassOrderPipelineUtils.addHtmlDump(order, configuration, + "VDT Creation", + "Dump directly after VDT generation."); + + return order; + } + + /** + * Appends the shared decode-tree passes to an existing pipeline. + */ + public static void addDecodePasses(PassOrder order, GeneralConfiguration config) { + order + .add(new VdtEncodingConstraintValidationPass(config)) + .add(new VdtInputPreparationPass(config)); + + var skipSynthesis = Stream.of(config.getDecoderOptions().getOptsToSkip()) + .anyMatch(o -> o == OPT_CONSTRAINT_SYNTHESIS); + if (!skipSynthesis) { + order.add(new VdtConstraintSynthesisPass(config)); + } + + var skipEncodingVerification = Stream.of(config.getDecoderOptions().getOptsToSkip()) + .anyMatch(o -> o == OPT_ENCODING_VERIFICATION); + if (!skipEncodingVerification) { + order.add(new VdtEncodingSemanticVerificationPass(config)); + } + + order.add(new VdtLoweringPass(config)); + + var skipDecoderVerification = Stream.of(config.getDecoderOptions().getOptsToSkip()) + .anyMatch(o -> o == OPT_DECODER_VERIFICATION); + if (!skipDecoderVerification) { + order.add(new VdtVerificationPass(config)); + } + } +} diff --git a/vadl/main/vadl/utils/Disassembler.java b/vadl-vdt/main/vadl/utils/Disassembler.java similarity index 100% rename from vadl/main/vadl/utils/Disassembler.java rename to vadl-vdt/main/vadl/utils/Disassembler.java diff --git a/vadl/main/vadl/utils/FieldExtractionUtils.java b/vadl-vdt/main/vadl/utils/FieldExtractionUtils.java similarity index 98% rename from vadl/main/vadl/utils/FieldExtractionUtils.java rename to vadl-vdt/main/vadl/utils/FieldExtractionUtils.java index 72450ee87..c28c9a7f9 100644 --- a/vadl/main/vadl/utils/FieldExtractionUtils.java +++ b/vadl-vdt/main/vadl/utils/FieldExtractionUtils.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/irregular/IrregularDecodeTreeGenerator.java b/vadl-vdt/main/vadl/vdt/impl/irregular/IrregularDecodeTreeGenerator.java similarity index 99% rename from vadl/main/vadl/vdt/impl/irregular/IrregularDecodeTreeGenerator.java rename to vadl-vdt/main/vadl/vdt/impl/irregular/IrregularDecodeTreeGenerator.java index 12ed4b368..4ec69f793 100644 --- a/vadl/main/vadl/vdt/impl/irregular/IrregularDecodeTreeGenerator.java +++ b/vadl-vdt/main/vadl/vdt/impl/irregular/IrregularDecodeTreeGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/irregular/model/DecodeEntry.java b/vadl-vdt/main/vadl/vdt/impl/irregular/model/DecodeEntry.java similarity index 95% rename from vadl/main/vadl/vdt/impl/irregular/model/DecodeEntry.java rename to vadl-vdt/main/vadl/vdt/impl/irregular/model/DecodeEntry.java index 9d3e027ec..1cc9222bb 100644 --- a/vadl/main/vadl/vdt/impl/irregular/model/DecodeEntry.java +++ b/vadl-vdt/main/vadl/vdt/impl/irregular/model/DecodeEntry.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/irregular/model/ExclusionCondition.java b/vadl-vdt/main/vadl/vdt/impl/irregular/model/ExclusionCondition.java similarity index 93% rename from vadl/main/vadl/vdt/impl/irregular/model/ExclusionCondition.java rename to vadl-vdt/main/vadl/vdt/impl/irregular/model/ExclusionCondition.java index b7f4279a1..f7930f392 100644 --- a/vadl/main/vadl/vdt/impl/irregular/model/ExclusionCondition.java +++ b/vadl-vdt/main/vadl/vdt/impl/irregular/model/ExclusionCondition.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/irregular/tree/MultiDecisionNode.java b/vadl-vdt/main/vadl/vdt/impl/irregular/tree/MultiDecisionNode.java similarity index 97% rename from vadl/main/vadl/vdt/impl/irregular/tree/MultiDecisionNode.java rename to vadl-vdt/main/vadl/vdt/impl/irregular/tree/MultiDecisionNode.java index a35c61558..89946a71b 100644 --- a/vadl/main/vadl/vdt/impl/irregular/tree/MultiDecisionNode.java +++ b/vadl-vdt/main/vadl/vdt/impl/irregular/tree/MultiDecisionNode.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/irregular/tree/SingleDecisionNode.java b/vadl-vdt/main/vadl/vdt/impl/irregular/tree/SingleDecisionNode.java similarity index 98% rename from vadl/main/vadl/vdt/impl/irregular/tree/SingleDecisionNode.java rename to vadl-vdt/main/vadl/vdt/impl/irregular/tree/SingleDecisionNode.java index 299e37165..37a9249df 100644 --- a/vadl/main/vadl/vdt/impl/irregular/tree/SingleDecisionNode.java +++ b/vadl-vdt/main/vadl/vdt/impl/irregular/tree/SingleDecisionNode.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/regular/InnerNodeImpl.java b/vadl-vdt/main/vadl/vdt/impl/regular/InnerNodeImpl.java similarity index 97% rename from vadl/main/vadl/vdt/impl/regular/InnerNodeImpl.java rename to vadl-vdt/main/vadl/vdt/impl/regular/InnerNodeImpl.java index 0e8a390f6..bb769fe70 100644 --- a/vadl/main/vadl/vdt/impl/regular/InnerNodeImpl.java +++ b/vadl-vdt/main/vadl/vdt/impl/regular/InnerNodeImpl.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/impl/regular/RegularDecodeTreeGenerator.java b/vadl-vdt/main/vadl/vdt/impl/regular/RegularDecodeTreeGenerator.java similarity index 99% rename from vadl/main/vadl/vdt/impl/regular/RegularDecodeTreeGenerator.java rename to vadl-vdt/main/vadl/vdt/impl/regular/RegularDecodeTreeGenerator.java index b274b67ea..82330b9f6 100644 --- a/vadl/main/vadl/vdt/impl/regular/RegularDecodeTreeGenerator.java +++ b/vadl-vdt/main/vadl/vdt/impl/regular/RegularDecodeTreeGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/model/DecodeTreeGenerator.java b/vadl-vdt/main/vadl/vdt/model/DecodeTreeGenerator.java similarity index 94% rename from vadl/main/vadl/vdt/model/DecodeTreeGenerator.java rename to vadl-vdt/main/vadl/vdt/model/DecodeTreeGenerator.java index 02ac30bf9..40114b4bf 100644 --- a/vadl/main/vadl/vdt/model/DecodeTreeGenerator.java +++ b/vadl-vdt/main/vadl/vdt/model/DecodeTreeGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/model/InnerNode.java b/vadl-vdt/main/vadl/vdt/model/InnerNode.java similarity index 95% rename from vadl/main/vadl/vdt/model/InnerNode.java rename to vadl-vdt/main/vadl/vdt/model/InnerNode.java index 17401a189..ae8719a0a 100644 --- a/vadl/main/vadl/vdt/model/InnerNode.java +++ b/vadl-vdt/main/vadl/vdt/model/InnerNode.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/model/LeafNode.java b/vadl-vdt/main/vadl/vdt/model/LeafNode.java similarity index 92% rename from vadl/main/vadl/vdt/model/LeafNode.java rename to vadl-vdt/main/vadl/vdt/model/LeafNode.java index 571eb31e6..b5f825187 100644 --- a/vadl/main/vadl/vdt/model/LeafNode.java +++ b/vadl-vdt/main/vadl/vdt/model/LeafNode.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/model/Node.java b/vadl-vdt/main/vadl/vdt/model/Node.java similarity index 92% rename from vadl/main/vadl/vdt/model/Node.java rename to vadl-vdt/main/vadl/vdt/model/Node.java index 650636060..fb4cf432f 100644 --- a/vadl/main/vadl/vdt/model/Node.java +++ b/vadl-vdt/main/vadl/vdt/model/Node.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/model/Visitor.java b/vadl-vdt/main/vadl/vdt/model/Visitor.java similarity index 94% rename from vadl/main/vadl/vdt/model/Visitor.java rename to vadl-vdt/main/vadl/vdt/model/Visitor.java index 5443f0af7..a31cfed30 100644 --- a/vadl/main/vadl/vdt/model/Visitor.java +++ b/vadl-vdt/main/vadl/vdt/model/Visitor.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/model/impl/LeafNodeImpl.java b/vadl-vdt/main/vadl/vdt/model/impl/LeafNodeImpl.java similarity index 94% rename from vadl/main/vadl/vdt/model/impl/LeafNodeImpl.java rename to vadl-vdt/main/vadl/vdt/model/impl/LeafNodeImpl.java index f2a712a8c..71883d05e 100644 --- a/vadl/main/vadl/vdt/model/impl/LeafNodeImpl.java +++ b/vadl-vdt/main/vadl/vdt/model/impl/LeafNodeImpl.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/VdtConstraintSynthesisPass.java b/vadl-vdt/main/vadl/vdt/passes/VdtConstraintSynthesisPass.java similarity index 98% rename from vadl/main/vadl/vdt/passes/VdtConstraintSynthesisPass.java rename to vadl-vdt/main/vadl/vdt/passes/VdtConstraintSynthesisPass.java index 436348413..a6cc0a9db 100644 --- a/vadl/main/vadl/vdt/passes/VdtConstraintSynthesisPass.java +++ b/vadl-vdt/main/vadl/vdt/passes/VdtConstraintSynthesisPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/VdtEncodingConstraintValidationPass.java b/vadl-vdt/main/vadl/vdt/passes/VdtEncodingConstraintValidationPass.java similarity index 96% rename from vadl/main/vadl/vdt/passes/VdtEncodingConstraintValidationPass.java rename to vadl-vdt/main/vadl/vdt/passes/VdtEncodingConstraintValidationPass.java index 9a3fde741..3071a96fc 100644 --- a/vadl/main/vadl/vdt/passes/VdtEncodingConstraintValidationPass.java +++ b/vadl-vdt/main/vadl/vdt/passes/VdtEncodingConstraintValidationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/VdtEncodingSemanticVerificationPass.java b/vadl-vdt/main/vadl/vdt/passes/VdtEncodingSemanticVerificationPass.java similarity index 99% rename from vadl/main/vadl/vdt/passes/VdtEncodingSemanticVerificationPass.java rename to vadl-vdt/main/vadl/vdt/passes/VdtEncodingSemanticVerificationPass.java index 2adb2c956..986636ed5 100644 --- a/vadl/main/vadl/vdt/passes/VdtEncodingSemanticVerificationPass.java +++ b/vadl-vdt/main/vadl/vdt/passes/VdtEncodingSemanticVerificationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/VdtInputPreparationPass.java b/vadl-vdt/main/vadl/vdt/passes/VdtInputPreparationPass.java similarity index 95% rename from vadl/main/vadl/vdt/passes/VdtInputPreparationPass.java rename to vadl-vdt/main/vadl/vdt/passes/VdtInputPreparationPass.java index 61b0e3707..7ffbcb624 100644 --- a/vadl/main/vadl/vdt/passes/VdtInputPreparationPass.java +++ b/vadl-vdt/main/vadl/vdt/passes/VdtInputPreparationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -33,7 +33,6 @@ import vadl.pass.Pass; import vadl.pass.PassName; import vadl.pass.PassResults; -import vadl.rtl.passes.InstructionProgressGraphExtension; import vadl.types.BuiltInTable; import vadl.vdt.impl.irregular.model.DecodeEntry; import vadl.vdt.impl.irregular.model.ExclusionCondition; @@ -44,6 +43,7 @@ import vadl.viam.Constant; import vadl.viam.Format; import vadl.viam.Instruction; +import vadl.viam.InstructionWordOrderExtension; import vadl.viam.Specification; import vadl.viam.graph.Graph; import vadl.viam.graph.Node; @@ -89,13 +89,9 @@ public Object execute(PassResults passResults, Specification viam) throws IOExce } // TODO: get the byte order from the VADL specification -> Implement memory annotations - final ByteOrder bo; - if (isa.hasExtension(InstructionProgressGraphExtension.class)) { - // For now, the HDL assumes big-endian representation of the instruction word - bo = ByteOrder.BIG_ENDIAN; - } else { - bo = ByteOrder.LITTLE_ENDIAN; - } + var orderExtension = isa.extension(InstructionWordOrderExtension.class); + final ByteOrder bo = + orderExtension != null ? orderExtension.byteOrder() : ByteOrder.LITTLE_ENDIAN; return isa.ownInstructions() .stream() diff --git a/vadl/main/vadl/vdt/passes/VdtLoweringPass.java b/vadl-vdt/main/vadl/vdt/passes/VdtLoweringPass.java similarity index 97% rename from vadl/main/vadl/vdt/passes/VdtLoweringPass.java rename to vadl-vdt/main/vadl/vdt/passes/VdtLoweringPass.java index 68c6bd336..04263982d 100644 --- a/vadl/main/vadl/vdt/passes/VdtLoweringPass.java +++ b/vadl-vdt/main/vadl/vdt/passes/VdtLoweringPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/VdtVerificationPass.java b/vadl-vdt/main/vadl/vdt/passes/VdtVerificationPass.java similarity index 99% rename from vadl/main/vadl/vdt/passes/VdtVerificationPass.java rename to vadl-vdt/main/vadl/vdt/passes/VdtVerificationPass.java index 0e53ac9a2..b885a2097 100644 --- a/vadl/main/vadl/vdt/passes/VdtVerificationPass.java +++ b/vadl-vdt/main/vadl/vdt/passes/VdtVerificationPass.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/transform/EncodingConstraintDNFTransformer.java b/vadl-vdt/main/vadl/vdt/passes/transform/EncodingConstraintDNFTransformer.java similarity index 98% rename from vadl/main/vadl/vdt/passes/transform/EncodingConstraintDNFTransformer.java rename to vadl-vdt/main/vadl/vdt/passes/transform/EncodingConstraintDNFTransformer.java index 312109bb6..53a3ae048 100644 --- a/vadl/main/vadl/vdt/passes/transform/EncodingConstraintDNFTransformer.java +++ b/vadl-vdt/main/vadl/vdt/passes/transform/EncodingConstraintDNFTransformer.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/transform/EncodingConstraintNNFTransformer.java b/vadl-vdt/main/vadl/vdt/passes/transform/EncodingConstraintNNFTransformer.java similarity index 98% rename from vadl/main/vadl/vdt/passes/transform/EncodingConstraintNNFTransformer.java rename to vadl-vdt/main/vadl/vdt/passes/transform/EncodingConstraintNNFTransformer.java index 9ad4cf0bb..0cc0daf1b 100644 --- a/vadl/main/vadl/vdt/passes/transform/EncodingConstraintNNFTransformer.java +++ b/vadl-vdt/main/vadl/vdt/passes/transform/EncodingConstraintNNFTransformer.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/passes/validate/EncodingConstraintValidator.java b/vadl-vdt/main/vadl/vdt/passes/validate/EncodingConstraintValidator.java similarity index 98% rename from vadl/main/vadl/vdt/passes/validate/EncodingConstraintValidator.java rename to vadl-vdt/main/vadl/vdt/passes/validate/EncodingConstraintValidator.java index dae379a60..e23d17a62 100644 --- a/vadl/main/vadl/vdt/passes/validate/EncodingConstraintValidator.java +++ b/vadl-vdt/main/vadl/vdt/passes/validate/EncodingConstraintValidator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/common/CheckedBitsCollector.java b/vadl-vdt/main/vadl/vdt/target/common/CheckedBitsCollector.java similarity index 98% rename from vadl/main/vadl/vdt/target/common/CheckedBitsCollector.java rename to vadl-vdt/main/vadl/vdt/target/common/CheckedBitsCollector.java index b636979de..180eed098 100644 --- a/vadl/main/vadl/vdt/target/common/CheckedBitsCollector.java +++ b/vadl-vdt/main/vadl/vdt/target/common/CheckedBitsCollector.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify @@ -136,7 +136,7 @@ public Map handle(MultiDecisionNode node) { var pattern = entry.getKey(); var childPattern = child.getValue(); - + result.put(child.getKey(), combinePatterns(pattern, childPattern)); } } diff --git a/vadl/main/vadl/vdt/target/common/DecisionTreeCompletenessVerifier.java b/vadl-vdt/main/vadl/vdt/target/common/DecisionTreeCompletenessVerifier.java similarity index 100% rename from vadl/main/vadl/vdt/target/common/DecisionTreeCompletenessVerifier.java rename to vadl-vdt/main/vadl/vdt/target/common/DecisionTreeCompletenessVerifier.java diff --git a/vadl/main/vadl/vdt/target/common/DecisionTreeDecoder.java b/vadl-vdt/main/vadl/vdt/target/common/DecisionTreeDecoder.java similarity index 97% rename from vadl/main/vadl/vdt/target/common/DecisionTreeDecoder.java rename to vadl-vdt/main/vadl/vdt/target/common/DecisionTreeDecoder.java index 6d2ccf172..69cba4149 100644 --- a/vadl/main/vadl/vdt/target/common/DecisionTreeDecoder.java +++ b/vadl-vdt/main/vadl/vdt/target/common/DecisionTreeDecoder.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/common/DecisionTreeSoundnessVerifier.java b/vadl-vdt/main/vadl/vdt/target/common/DecisionTreeSoundnessVerifier.java similarity index 100% rename from vadl/main/vadl/vdt/target/common/DecisionTreeSoundnessVerifier.java rename to vadl-vdt/main/vadl/vdt/target/common/DecisionTreeSoundnessVerifier.java diff --git a/vadl/main/vadl/vdt/target/common/DecisionTreeStatsCalculator.java b/vadl-vdt/main/vadl/vdt/target/common/DecisionTreeStatsCalculator.java similarity index 97% rename from vadl/main/vadl/vdt/target/common/DecisionTreeStatsCalculator.java rename to vadl-vdt/main/vadl/vdt/target/common/DecisionTreeStatsCalculator.java index affdeb2d7..c3b6747c5 100644 --- a/vadl/main/vadl/vdt/target/common/DecisionTreeStatsCalculator.java +++ b/vadl-vdt/main/vadl/vdt/target/common/DecisionTreeStatsCalculator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/common/dto/DecisionTreeStatistics.java b/vadl-vdt/main/vadl/vdt/target/common/dto/DecisionTreeStatistics.java similarity index 97% rename from vadl/main/vadl/vdt/target/common/dto/DecisionTreeStatistics.java rename to vadl-vdt/main/vadl/vdt/target/common/dto/DecisionTreeStatistics.java index 516306f68..bd4a69756 100644 --- a/vadl/main/vadl/vdt/target/common/dto/DecisionTreeStatistics.java +++ b/vadl-vdt/main/vadl/vdt/target/common/dto/DecisionTreeStatistics.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/common/dto/DecodedInstruction.java b/vadl-vdt/main/vadl/vdt/target/common/dto/DecodedInstruction.java similarity index 96% rename from vadl/main/vadl/vdt/target/common/dto/DecodedInstruction.java rename to vadl-vdt/main/vadl/vdt/target/common/dto/DecodedInstruction.java index 964aaef44..30391ee17 100644 --- a/vadl/main/vadl/vdt/target/common/dto/DecodedInstruction.java +++ b/vadl-vdt/main/vadl/vdt/target/common/dto/DecodedInstruction.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/common/dto/PathVerificationInfo.java b/vadl-vdt/main/vadl/vdt/target/common/dto/PathVerificationInfo.java similarity index 100% rename from vadl/main/vadl/vdt/target/common/dto/PathVerificationInfo.java rename to vadl-vdt/main/vadl/vdt/target/common/dto/PathVerificationInfo.java diff --git a/vadl/main/vadl/vdt/target/dump/DotGraphGenerator.java b/vadl-vdt/main/vadl/vdt/target/dump/DotGraphGenerator.java similarity index 98% rename from vadl/main/vadl/vdt/target/dump/DotGraphGenerator.java rename to vadl-vdt/main/vadl/vdt/target/dump/DotGraphGenerator.java index 3b66e36d2..7d3f3bece 100644 --- a/vadl/main/vadl/vdt/target/dump/DotGraphGenerator.java +++ b/vadl-vdt/main/vadl/vdt/target/dump/DotGraphGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/dump/InsnDecisionTableGenerator.java b/vadl-vdt/main/vadl/vdt/target/dump/InsnDecisionTableGenerator.java similarity index 98% rename from vadl/main/vadl/vdt/target/dump/InsnDecisionTableGenerator.java rename to vadl-vdt/main/vadl/vdt/target/dump/InsnDecisionTableGenerator.java index 1f9b90ac6..b9bd2b5d7 100644 --- a/vadl/main/vadl/vdt/target/dump/InsnDecisionTableGenerator.java +++ b/vadl-vdt/main/vadl/vdt/target/dump/InsnDecisionTableGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/dump/TextGraphGenerator.java b/vadl-vdt/main/vadl/vdt/target/dump/TextGraphGenerator.java similarity index 98% rename from vadl/main/vadl/vdt/target/dump/TextGraphGenerator.java rename to vadl-vdt/main/vadl/vdt/target/dump/TextGraphGenerator.java index 70c8cbd43..b0d6863f3 100644 --- a/vadl/main/vadl/vdt/target/dump/TextGraphGenerator.java +++ b/vadl-vdt/main/vadl/vdt/target/dump/TextGraphGenerator.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/rtl/ChiselUtils.java b/vadl-vdt/main/vadl/vdt/target/rtl/ChiselUtils.java similarity index 96% rename from vadl/main/vadl/vdt/target/rtl/ChiselUtils.java rename to vadl-vdt/main/vadl/vdt/target/rtl/ChiselUtils.java index b763cbd68..f280ff3ff 100644 --- a/vadl/main/vadl/vdt/target/rtl/ChiselUtils.java +++ b/vadl-vdt/main/vadl/vdt/target/rtl/ChiselUtils.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/target/rtl/RtlTableDecoderGenerator.java b/vadl-vdt/main/vadl/vdt/target/rtl/RtlTableDecoderGenerator.java similarity index 86% rename from vadl/main/vadl/vdt/target/rtl/RtlTableDecoderGenerator.java rename to vadl-vdt/main/vadl/vdt/target/rtl/RtlTableDecoderGenerator.java index 1ba9c1e2e..6d8e08bb3 100644 --- a/vadl/main/vadl/vdt/target/rtl/RtlTableDecoderGenerator.java +++ b/vadl-vdt/main/vadl/vdt/target/rtl/RtlTableDecoderGenerator.java @@ -1,3 +1,19 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + package vadl.vdt.target.rtl; import static vadl.vdt.target.rtl.ChiselUtils.toChiselPattern; diff --git a/vadl/main/vadl/vdt/target/rtl/RtlVdtDecoderGenerator.java b/vadl-vdt/main/vadl/vdt/target/rtl/RtlVdtDecoderGenerator.java similarity index 91% rename from vadl/main/vadl/vdt/target/rtl/RtlVdtDecoderGenerator.java rename to vadl-vdt/main/vadl/vdt/target/rtl/RtlVdtDecoderGenerator.java index d0132d03c..1a712585f 100644 --- a/vadl/main/vadl/vdt/target/rtl/RtlVdtDecoderGenerator.java +++ b/vadl-vdt/main/vadl/vdt/target/rtl/RtlVdtDecoderGenerator.java @@ -1,3 +1,19 @@ +// SPDX-FileCopyrightText : © 2026 TU Wien +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + package vadl.vdt.target.rtl; import static vadl.vdt.target.rtl.ChiselUtils.toChiselPattern; diff --git a/vadl/main/vadl/vdt/utils/Bit.java b/vadl-vdt/main/vadl/vdt/utils/Bit.java similarity index 95% rename from vadl/main/vadl/vdt/utils/Bit.java rename to vadl-vdt/main/vadl/vdt/utils/Bit.java index dae2ab5c7..8385fa6fc 100644 --- a/vadl/main/vadl/vdt/utils/Bit.java +++ b/vadl-vdt/main/vadl/vdt/utils/Bit.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/BitPattern.java b/vadl-vdt/main/vadl/vdt/utils/BitPattern.java similarity index 99% rename from vadl/main/vadl/vdt/utils/BitPattern.java rename to vadl-vdt/main/vadl/vdt/utils/BitPattern.java index e292ab3e6..9f4d9fac1 100644 --- a/vadl/main/vadl/vdt/utils/BitPattern.java +++ b/vadl-vdt/main/vadl/vdt/utils/BitPattern.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/BitVector.java b/vadl-vdt/main/vadl/vdt/utils/BitVector.java similarity index 99% rename from vadl/main/vadl/vdt/utils/BitVector.java rename to vadl-vdt/main/vadl/vdt/utils/BitVector.java index 47d147098..0a5c7073e 100644 --- a/vadl/main/vadl/vdt/utils/BitVector.java +++ b/vadl-vdt/main/vadl/vdt/utils/BitVector.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/BitVectorUtils.java b/vadl-vdt/main/vadl/vdt/utils/BitVectorUtils.java similarity index 95% rename from vadl/main/vadl/vdt/utils/BitVectorUtils.java rename to vadl-vdt/main/vadl/vdt/utils/BitVectorUtils.java index 5736567b4..e658709eb 100644 --- a/vadl/main/vadl/vdt/utils/BitVectorUtils.java +++ b/vadl-vdt/main/vadl/vdt/utils/BitVectorUtils.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/BitWise.java b/vadl-vdt/main/vadl/vdt/utils/BitWise.java similarity index 92% rename from vadl/main/vadl/vdt/utils/BitWise.java rename to vadl-vdt/main/vadl/vdt/utils/BitWise.java index c8a06429d..acc373e47 100644 --- a/vadl/main/vadl/vdt/utils/BitWise.java +++ b/vadl-vdt/main/vadl/vdt/utils/BitWise.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/Instruction.java b/vadl-vdt/main/vadl/vdt/utils/Instruction.java similarity index 96% rename from vadl/main/vadl/vdt/utils/Instruction.java rename to vadl-vdt/main/vadl/vdt/utils/Instruction.java index a31fcabc8..cc5a366be 100644 --- a/vadl/main/vadl/vdt/utils/Instruction.java +++ b/vadl-vdt/main/vadl/vdt/utils/Instruction.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/PBit.java b/vadl-vdt/main/vadl/vdt/utils/PBit.java similarity index 95% rename from vadl/main/vadl/vdt/utils/PBit.java rename to vadl-vdt/main/vadl/vdt/utils/PBit.java index cca60824d..78b5d81b8 100644 --- a/vadl/main/vadl/vdt/utils/PBit.java +++ b/vadl-vdt/main/vadl/vdt/utils/PBit.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/PatternUtils.java b/vadl-vdt/main/vadl/vdt/utils/PatternUtils.java similarity index 99% rename from vadl/main/vadl/vdt/utils/PatternUtils.java rename to vadl-vdt/main/vadl/vdt/utils/PatternUtils.java index cb77c2fd7..9924a42e8 100644 --- a/vadl/main/vadl/vdt/utils/PatternUtils.java +++ b/vadl-vdt/main/vadl/vdt/utils/PatternUtils.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/SequentialInstructionDecoder.java b/vadl-vdt/main/vadl/vdt/utils/SequentialInstructionDecoder.java similarity index 97% rename from vadl/main/vadl/vdt/utils/SequentialInstructionDecoder.java rename to vadl-vdt/main/vadl/vdt/utils/SequentialInstructionDecoder.java index 31262d505..2efca4575 100644 --- a/vadl/main/vadl/vdt/utils/SequentialInstructionDecoder.java +++ b/vadl-vdt/main/vadl/vdt/utils/SequentialInstructionDecoder.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/main/vadl/vdt/utils/Vector.java b/vadl-vdt/main/vadl/vdt/utils/Vector.java similarity index 92% rename from vadl/main/vadl/vdt/utils/Vector.java rename to vadl-vdt/main/vadl/vdt/utils/Vector.java index ffcb077db..4d882151d 100644 --- a/vadl/main/vadl/vdt/utils/Vector.java +++ b/vadl-vdt/main/vadl/vdt/utils/Vector.java @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText : © 2025 TU Wien +// SPDX-FileCopyrightText : © 2025-2026 TU Wien // SPDX-License-Identifier: GPL-3.0-or-later // // This program is free software: you can redistribute it and/or modify diff --git a/vadl/build.gradle.kts b/vadl/build.gradle.kts deleted file mode 100644 index 738a3c3cc..000000000 --- a/vadl/build.gradle.kts +++ /dev/null @@ -1,141 +0,0 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import vadl.GenerateCocoParserTask -import java.util.* - -plugins { - id("conventions-jvm") - alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.z3) -} - -dependencies { - annotationProcessor(project(":java-annotations")) - compileOnly(project(":java-annotations")) - implementation(libs.thymeleaf) - implementation(libs.guava) - implementation(libs.commons.io) - implementation(libs.commons.lang3) - implementation(libs.commons.text) - - implementation(libs.z3.bootstrap) - implementation(kotlin("stdlib-jdk8")) - - testCompileOnly(project(":java-annotations")) - testAnnotationProcessor(project(":java-annotations")) - testImplementation(libs.buildkitcli) - testImplementation(libs.assertj.core) - testImplementation(libs.awaitility) - testImplementation(libs.testcontainers) - testImplementation(libs.archunit.junit5) - testImplementation(libs.velocity.engine.core) - testImplementation(libs.jqwik) - testImplementation(libs.snakeyaml) -} - -kotlin { - jvmToolchain(25) -} - -sourceSets { - main { - java { - srcDir("build/generated/sources/coco/java/main") - } - } - test { - resources { - srcDir(project(":vadl-test").layout.projectDirectory.dir("resources")) - } - } -} - -tasks.matching { it is KotlinCompile || it is JavaCompile }.configureEach { - dependsOn("generateCocoParser") -} - -tasks.withType().configureEach { - doFirst { - exclude { fileTreeElement -> - fileTreeElement.file.absolutePath.contains("build/generated/") - } - } -} - -tasks.register("generateCocoParser") { - group = "build" - inputFiles.from("main/vadl/ast/vadl.ATG") - parserFrame.set(project.file("main/vadl/ast/Parser.frame")) - outputDir.set(outputDir.get().dir("vadl/ast")) - cocoJar.set(project.file("libs/Coco.jar")) -} - -val createProperties by tasks.registering { - val outputDir = layout.buildDirectory.dir("generated/resources") - val versionFile = outputDir.map { it.file("open-vadl.properties") } - - outputs.file(versionFile) - doLast { - val properties = Properties() - properties["version"] = rootProject.version.toString() - versionFile.get().asFile.apply { - parentFile.mkdirs() - outputStream().use { properties.store(it, null) } - } - } -} - -tasks.processResources { - from(createProperties) -} - -tasks.withType().configureEach { - environment("PROJECT_ROOT", rootDir.absolutePath) - useJUnitPlatform { - val include = System.getProperty("tags.include") - val exclude = System.getProperty("tags.exclude") - - if (include != null) { - includeTags(include) - } else { - excludeTags("BenchmarkTest") - } - - if (exclude != null) { - excludeTags(exclude) - } - } - jvmArgs("--enable-preview") - reports { - junitXml.required.set(true) - } -} - -val generators = listOf("iss", "lcb", "rtl") - -for (gen in generators) { - tasks.register("test-$gen") { - group = "verification" - failFast = true - val pkg = "vadl.$gen" - description = "Runs tests for the $pkg package" - testClassesDirs = sourceSets["test"].output.classesDirs - classpath = sourceSets["test"].runtimeClasspath - filter { - includeTestsMatching("$pkg.*") - } - } -} - -tasks.register("test-others") { - group = "verification" - val excludedPackages = generators.joinToString(", ") { "vadl.$it" } - description = "Runs tests for vadl.* packages excluding $excludedPackages" - testClassesDirs = sourceSets["test"].output.classesDirs - classpath = sourceSets["test"].runtimeClasspath - filter { - includeTestsMatching("vadl.*") - for (gen in generators) { - excludeTestsMatching("vadl.$gen.*") - } - } -} diff --git a/vadl/main/resources/.keep b/vadl/main/resources/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/vadl/main/vadl/.keep b/vadl/main/vadl/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/vadl/main/vadl/ast/FormatType.java b/vadl/main/vadl/ast/FormatType.java deleted file mode 100644 index 72f8b9bfc..000000000 --- a/vadl/main/vadl/ast/FormatType.java +++ /dev/null @@ -1,29 +0,0 @@ -package vadl.ast; - -import java.util.Objects; -import vadl.types.BitsType; -import vadl.types.Type; - -/** - * A format type is a type from a format. - * This needs to be part of the typesystem to resolve subcalls. - * - *

    This type never leaves the frontend and will be lowered to the concrete datatype. - */ -class FormatType extends BitsType { - FormatDefinition format; - - protected FormatType(FormatDefinition format) { - super(((BitsType) Objects.requireNonNull(format.typeLiteral.type)).bitWidth()); - this.format = format; - } - - Type innerType() { - return Objects.requireNonNull(format.typeLiteral.type); - } - - @Override - public String toString() { - return format.identifier().name; - } -} diff --git a/vadl/main/vadl/pass/PassOrders.java b/vadl/main/vadl/pass/PassOrders.java deleted file mode 100644 index cf37ce7b1..000000000 --- a/vadl/main/vadl/pass/PassOrders.java +++ /dev/null @@ -1,891 +0,0 @@ -// SPDX-FileCopyrightText : © 2025-2026 TU Wien -// SPDX-License-Identifier: GPL-3.0-or-later -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -package vadl.pass; - -import static vadl.configuration.DecoderOptions.Generator.RTL_TABLE; -import static vadl.configuration.DecoderOptions.OptionToSkip.OPT_CONSTRAINT_SYNTHESIS; -import static vadl.configuration.DecoderOptions.OptionToSkip.OPT_DECODER_VERIFICATION; -import static vadl.configuration.DecoderOptions.OptionToSkip.OPT_ENCODING_VERIFICATION; -import static vadl.iss.template.IssDefaultRenderingPass.issDefault; - -import com.google.common.collect.Streams; -import java.io.IOException; -import java.util.Optional; -import java.util.stream.Stream; -import javax.annotation.Nullable; -import vadl.configuration.DumpMode; -import vadl.configuration.GcbConfiguration; -import vadl.configuration.GeneralConfiguration; -import vadl.configuration.IssConfiguration; -import vadl.configuration.LcbConfiguration; -import vadl.configuration.RtlConfiguration; -import vadl.dump.CollectBehaviorDotGraphPass; -import vadl.dump.DumpIssInstructionGraphsPass; -import vadl.dump.HtmlDumpPass; -import vadl.gcb.passes.DetermineBuiltinAttributesPass; -import vadl.gcb.passes.DetermineRegisterUsesAndDefsPass; -import vadl.gcb.passes.DetermineRelocationTypeForFieldPass; -import vadl.gcb.passes.GenerateCompilerRegistersPass; -import vadl.gcb.passes.GenerateGcbIntrinsicsPass; -import vadl.gcb.passes.GenerateValueRangeImmediatePass; -import vadl.gcb.passes.IdentifyFieldUsagePass; -import vadl.gcb.passes.InstructionPatternPruningPass; -import vadl.gcb.passes.PredicateFunctionInlinerPass; -import vadl.gcb.passes.RenamingConflictingRegistersPass; -import vadl.gcb.passes.SetMissingConfigurationValuesPass; -import vadl.gcb.passes.assembly.AssemblyConcatBuiltinMergingPass; -import vadl.gcb.passes.encodingGeneration.GenerateFieldAccessEncodingAndPredicateFunctionsPass; -import vadl.gcb.passes.operands.GenerateInstructionOperandsPass; -import vadl.iss.passes.IssBitfieldWriteLoweringPass; -import vadl.iss.passes.IssBuiltInArgTruncOptPass; -import vadl.iss.passes.IssCFunctionExtractionPass; -import vadl.iss.passes.IssConfigurationPass; -import vadl.iss.passes.IssExecStrategyPass; -import vadl.iss.passes.IssExtractOptimizationPass; -import vadl.iss.passes.IssGdbInfoExtractionPass; -import vadl.iss.passes.IssHardcodedTcgAddOnPass; -import vadl.iss.passes.IssInfoRetrievalPass; -import vadl.iss.passes.IssLoopUnrollPass; -import vadl.iss.passes.IssMemoryAccessTransformationPass; -import vadl.iss.passes.IssMemoryDetectionPass; -import vadl.iss.passes.IssNormalizationPass; -import vadl.iss.passes.IssPcAccessConversionPass; -import vadl.iss.passes.IssRegisterAccessInfoRetrievalPass; -import vadl.iss.passes.IssRegisterAccessLoweringPass; -import vadl.iss.passes.IssSelectLoweringPass; -import vadl.iss.passes.IssTcgSchedulingPass; -import vadl.iss.passes.IssTcgVAllocationPass; -import vadl.iss.passes.opDecomposition.IssOpDecompositionPass; -import vadl.iss.passes.safeResourceRead.IssSafeResourceReadPass; -import vadl.iss.passes.tcgLowering.IssTcgContextPass; -import vadl.iss.passes.tcgLowering.TcgBranchLoweringPass; -import vadl.iss.passes.tcgLowering.TcgOpLoweringPass; -import vadl.iss.template.gdb_xml.EmitIssGdbXmlPass; -import vadl.iss.template.hw.EmitIssHwMachineCPass; -import vadl.iss.template.target.EmitIssCpuHeaderPass; -import vadl.iss.template.target.EmitIssCpuParamHeaderPass; -import vadl.iss.template.target.EmitIssCpuQomHeaderPass; -import vadl.iss.template.target.EmitIssCpuSourcePass; -import vadl.iss.template.target.EmitIssDecodeTreePass; -import vadl.iss.template.target.EmitIssDoExcCIncPass; -import vadl.iss.template.target.EmitIssGdbStubPass; -import vadl.iss.template.target.EmitIssHelperCPass; -import vadl.iss.template.target.EmitIssHelperHPass; -import vadl.iss.template.target.EmitIssInsnTransCIncPass; -import vadl.iss.template.target.EmitIssMachinePass; -import vadl.iss.template.target.EmitIssTranslateCPass; -import vadl.lcb.codegen.assembly.WrapInIntegralPass; -import vadl.lcb.include.llvm.IR.EmitMiddleendIntrinsicsTableGenPass; -import vadl.lcb.passes.OverwriteInputOperandsPass; -import vadl.lcb.passes.asm.AsmGrammarRuleGenerationPass; -import vadl.lcb.passes.isaMatching.IsaMachineInstructionMatchingPass; -import vadl.lcb.passes.isaMatching.IsaPseudoInstructionMatchingPass; -import vadl.lcb.passes.llvmLowering.CreateFunctionsFromImmediatesPass; -import vadl.lcb.passes.llvmLowering.GenerateTableGenAbiSequenceInstructionRecordPass; -import vadl.lcb.passes.llvmLowering.GenerateTableGenMachineInstructionRecordPass; -import vadl.lcb.passes.llvmLowering.GenerateTableGenPseudoInstructionRecordPass; -import vadl.lcb.passes.llvmLowering.GenerateTableGenRegistersPass; -import vadl.lcb.passes.llvmLowering.ISelLoweringOperationActionPass; -import vadl.lcb.passes.llvmLowering.LlvmLoweringPass; -import vadl.lcb.passes.llvmLowering.RemoveRegisterWritesPass; -import vadl.lcb.passes.llvmLowering.RemoveTruncationAndAnyExtPass; -import vadl.lcb.passes.llvmLowering.compensation.CompensationPatternPass; -import vadl.lcb.passes.llvmLowering.immediates.GenerateTableGenImmediateRecordPass; -import vadl.lcb.passes.pseudo.AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass; -import vadl.lcb.passes.pseudo.PseudoExpansionFunctionGeneratorPass; -import vadl.lcb.passes.relocation.GenerateLinkerComponentsPass; -import vadl.lcb.template.clang.lib.Basic.Targets.EmitClangTargetHeaderFilePass; -import vadl.lcb.template.clang.lib.CodeGen.EmitCGBuiltinFilePass; -import vadl.lcb.template.clang.lib.CodeGen.EmitCodeGenFunctionHeaderFilePass; -import vadl.lcb.template.include.llvm.BinaryFormat.ELFRelocs.EmitTargetElfRelocsDefFilePass; -import vadl.lcb.template.lib.IR.EmitMiddleendMainIntrinsicsTableGenPass; -import vadl.lcb.template.lib.Target.EmitMCInstLowerCppFilePass; -import vadl.lcb.template.lib.Target.EmitMCInstLowerHeaderFilePass; -import vadl.lcb.template.lib.Target.EmitVadlBuiltinHeaderFilePass; -import vadl.lcb.template.lib.Target.EmitVadlBuiltinHeaderPPFilePass; -import vadl.lcb.template.lib.Target.MCTargetDesc.EmitConstMatIntCppFilePass; -import vadl.lcb.template.lib.Target.MCTargetDesc.EmitConstMatIntHeaderFilePass; -import vadl.lcb.template.lib.Target.MCTargetDesc.EmitInstPrinterCppFilePass; -import vadl.lcb.template.lib.Target.MCTargetDesc.EmitInstPrinterHeaderFilePass; -import vadl.lcb.template.lld.ELF.Arch.EmitLldVadlBuiltinsHeaderFilePass; -import vadl.rtl.passes.CleanupEmitDirectoryPass; -import vadl.rtl.passes.ControlLogicPass; -import vadl.rtl.passes.DebugOutputPass; -import vadl.rtl.passes.EmitBuildSbtPass; -import vadl.rtl.passes.EmitCoreEmitPass; -import vadl.rtl.passes.EmitCoreTestPass; -import vadl.rtl.passes.EmitElfSimPass; -import vadl.rtl.passes.EmitModulesPass; -import vadl.rtl.passes.EmitRVFIOutputsPass; -import vadl.rtl.passes.EmitRtlDevcontainerConfigPass; -import vadl.rtl.passes.EmitRtlDevcontainerDockerComposePass; -import vadl.rtl.passes.EmitRtlMakefilePass; -import vadl.rtl.passes.EmitScalafmtConfigPass; -import vadl.rtl.passes.EmitSimMemCppPass; -import vadl.rtl.passes.EmitSimMemSvPass; -import vadl.rtl.passes.EmitVadlLibPass; -import vadl.rtl.passes.ForwardingLogicPass; -import vadl.rtl.passes.HazardAnalysisPass; -import vadl.rtl.passes.InstructionProgressGraphCreationPass; -import vadl.rtl.passes.InstructionProgressGraphLowerPass; -import vadl.rtl.passes.InstructionProgressGraphMergePass; -import vadl.rtl.passes.InstructionProgressGraphNamePass; -import vadl.rtl.passes.MiaMappingCreationPass; -import vadl.rtl.passes.MiaMappingInlinePass; -import vadl.rtl.passes.MiaMappingOptimizePass; -import vadl.rtl.passes.RtlConfigurationPass; -import vadl.rtl.passes.StageOrderingPass; -import vadl.template.AbstractTemplateRenderingPass; -import vadl.vdt.passes.VdtConstraintSynthesisPass; -import vadl.vdt.passes.VdtEncodingConstraintValidationPass; -import vadl.vdt.passes.VdtEncodingSemanticVerificationPass; -import vadl.vdt.passes.VdtInputPreparationPass; -import vadl.vdt.passes.VdtLoweringPass; -import vadl.vdt.passes.VdtVerificationPass; -import vadl.viam.Specification; -import vadl.viam.passes.ControlFlowOptimizationPass; -import vadl.viam.passes.DetectRegisterIndicesPass; -import vadl.viam.passes.DuplicateWriteDetectionPass; -import vadl.viam.passes.HardcodeLGALabelPass; -import vadl.viam.passes.InstructionResourceAccessAnalysisPass; -import vadl.viam.passes.NormalizeFieldsToFieldAccessFunctionsPass; -import vadl.viam.passes.SnapshotInstructionBehaviorPass; -import vadl.viam.passes.algebraic_simplication.AlgebraicSimplificationPass; -import vadl.viam.passes.behaviorRewrite.BehaviorRewritePass; -import vadl.viam.passes.canonicalization.CanonicalizationPass; -import vadl.viam.passes.functionInliner.ArtificialResInlinerPass; -import vadl.viam.passes.functionInliner.FieldAccessInlinerPass; -import vadl.viam.passes.functionInliner.FunctionInlinerPass; -import vadl.viam.passes.sideEffectScheduling.SideEffectSchedulingPass; -import vadl.viam.passes.sideeffect_condition.SideEffectConditionResolvingPass; -import vadl.viam.passes.staticCounterAccess.StaticCounterAccessResolvingPass; -import vadl.viam.passes.statusBuiltInInlinePass.RemoveUnusedStatusFlagsFromBuiltinsPass; -import vadl.viam.passes.statusBuiltInInlinePass.StatusBuiltInInlinePass; -import vadl.viam.passes.verification.ViamVerificationPass; - -/** - * This class contains static methods that define the individual pass orders for different - * generation targets (e.g., LCB, ISS, ...). - */ -public class PassOrders { - - /** - * Used by the {@code check} command. - * It doesn't apply transformation to the VIAM, however, it checks if the VDT can be constructed. - */ - public static PassOrder check(GeneralConfiguration configuration) { - var order = new PassOrder(); - order.add(new ViamCreationPass(configuration)); - - addHtmlDump(order, configuration, "VIAM Creation", - "Dump directly after frontend generated VIAM."); - - order.add(new ViamVerificationPass(configuration)); - - // check if VDT can be constructed - addDecodePasses(order, configuration); - - addHtmlDump(order, configuration, - "VDT Creation", - "Dump directly after VDT generation."); - - return order; - } - - /** - * Return the viam passes. - */ - public static PassOrder viam(GeneralConfiguration configuration) throws IOException { - var order = new PassOrder(); - - // this is just a pseudo pass to add the behavior to the HTML dump - // at the stage directly after the VIAM creation. - order.add(new ViamCreationPass(configuration)); - order.add(new ViamVerificationPass(configuration)); - - order.add(new DetectRegisterIndicesPass(configuration)); - order.add(new OverwriteInputOperandsPass(configuration)); - order.add(new NormalizeFieldsToFieldAccessFunctionsPass(configuration)); - order.add(new RenamingConflictingRegistersPass(configuration)); - order.add(new SnapshotInstructionBehaviorPass(configuration)); - - order.add(new RemoveUnusedStatusFlagsFromBuiltinsPass(configuration)); - order.add(new StatusBuiltInInlinePass(configuration)); - - // Common optimizations - order.add(new CanonicalizationPass(configuration)); - order.add(new AlgebraicSimplificationPass(configuration)); - order.add(new BehaviorRewritePass(configuration)); - - // TODO: @kper do you see any fix for this? - // Note: we run the counter-access resolving pass before the func inliner pass - // because the lcb uses the uninlined version of the instructions. - // However, this might miss a lot of opportunities to statically resolve counter-accesses - // as the canonicalization runs at a later point. - order.add(new StaticCounterAccessResolvingPass(configuration)); - order.add(new FunctionInlinerPass(configuration)); - order.add(new FieldAccessInlinerPass(configuration)); - order.add(new ArtificialResInlinerPass(configuration)); - order.add(new ControlFlowOptimizationPass(configuration)); - order.add(new SideEffectConditionResolvingPass(configuration)); - // requires SideEffectConditionResolvingPass to work - order.add(new DuplicateWriteDetectionPass(configuration)); - - order.add(new CanonicalizationPass(configuration)); - order.add(new AlgebraicSimplificationPass(configuration)); - order.add(new BehaviorRewritePass(configuration)); - order.add(new InstructionResourceAccessAnalysisPass(configuration)); - - // Hardcoded - order.add(new HardcodeLGALabelPass(configuration)); - - // verification after viam optimizations - order.add(new ViamVerificationPass(configuration)); - - return order; - } - - /** - * Return the gcb and cppcodegen passes. - */ - public static PassOrder gcbAndCppCodeGen(GcbConfiguration gcbConfiguration) throws IOException { - var order = viam(gcbConfiguration); - order.add(new SetMissingConfigurationValuesPass(gcbConfiguration)); - - // skip status built-in inlining as lcb - // needs to know about those status built-in calls. - order.skip(StatusBuiltInInlinePass.class); - - // We need to keep the aliases. - order.skip(ArtificialResInlinerPass.class); - - - order.add(new GenerateCompilerRegistersPass(gcbConfiguration)); - // skip inlining of field access - order.skip(FieldAccessInlinerPass.class); - order.add(new IdentifyFieldUsagePass(gcbConfiguration)); - order.add(new DetermineRelocationTypeForFieldPass(gcbConfiguration)); - order.add(new GenerateValueRangeImmediatePass(gcbConfiguration)); - order.add(new GenerateFieldAccessEncodingAndPredicateFunctionsPass(gcbConfiguration)); - order.add(new PredicateFunctionInlinerPass(gcbConfiguration)); - order.add(new AssemblyConcatBuiltinMergingPass(gcbConfiguration)); - order.add(new DetermineRegisterUsesAndDefsPass(gcbConfiguration)); - order.add(new GenerateInstructionOperandsPass(gcbConfiguration)); - order.add(new InstructionPatternPruningPass(gcbConfiguration)); - order.add(new DetermineBuiltinAttributesPass(gcbConfiguration)); - order.add(new GenerateGcbIntrinsicsPass(gcbConfiguration)); - - addHtmlDump(order, gcbConfiguration, "gcbProcessing", - "Now the gcb produced all necessary encoding function for field accesses " - + "and normalized VIAM types to Cpp types."); - - return order; - } - - /** - * This is the pass order which must be executed to get a LLVM compiler. - */ - public static PassOrder lcb(LcbConfiguration configuration) - throws IOException { - var order = gcbAndCppCodeGen(configuration); - // skip inlining of field access - order.skip(FieldAccessInlinerPass.class); - - order.add(new PseudoExpansionFunctionGeneratorPass(configuration)); - order.add(new AbiSequencesCompilerInstructionExpansionFunctionGeneratorPass( - configuration)); - - order.add(new RemoveTruncationAndAnyExtPass(configuration)); - - order.add(new GenerateTableGenRegistersPass(configuration)); - order.add(new RemoveRegisterWritesPass(configuration)); - order.add(new RemoveUnusedStatusFlagsFromBuiltinsPass(configuration)); - - // Common optimizations after register elimination - order.add(new CanonicalizationPass(configuration)); - order.add(new AlgebraicSimplificationPass(configuration)); - order.add(new BehaviorRewritePass(configuration)); - - order.add(new IsaMachineInstructionMatchingPass(configuration)); - order.add(new IsaPseudoInstructionMatchingPass(configuration)); - - order.add(new LlvmLoweringPass(configuration)); - order.add(new GenerateTableGenMachineInstructionRecordPass(configuration)); - order.add(new GenerateTableGenPseudoInstructionRecordPass(configuration)); - order.add(new GenerateTableGenAbiSequenceInstructionRecordPass(configuration)); - order.add(new GenerateTableGenImmediateRecordPass(configuration)); - order.add(new CreateFunctionsFromImmediatesPass(configuration)); - order.add(new CompensationPatternPass(configuration)); - order.add(new ISelLoweringOperationActionPass(configuration)); - order.add(new GenerateLinkerComponentsPass(configuration)); - - order.add(new WrapInIntegralPass(configuration)); - - order.add(new AsmGrammarRuleGenerationPass(configuration)); - - addHtmlDump(order, configuration, - "lcbLlvmLowering", - "The LCB did ISA matching to and lowered common VIAM nodes to LLVM specific" - + "nodes."); - - order.add(new EmitVadlBuiltinHeaderFilePass(configuration)); - order.add(new EmitVadlBuiltinHeaderPPFilePass(configuration)); - order.add(new vadl.lcb.template.clang.include.Basic.EmitCMakeListsPass(configuration)); - order.add(new vadl.lcb.template.clang.include.Basic.EmitBuiltinsTableGenPass(configuration)); - order.add( - new vadl.lcb.template.clang.include.Basic.EmitTargetBuiltinsHeaderPass(configuration)); - order.add(new vadl.lcb.clang.lib.Driver.ToolChains.EmitClangToolChainFilePass(configuration)); - order.add( - new vadl.lcb.template.clang.lib.Driver.ToolChains.EmitClangCommonArgsToolChainFilePass( - configuration)); - order.add(new EmitClangTargetHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.clang.lib.Basic.Targets.EmitClangTargetsFilePass(configuration)); - order.add( - new vadl.lcb.template.clang.lib.Basic.Targets.EmitClangTargetCppFilePass(configuration)); - order.add(new vadl.lcb.template.clang.lib.Basic.EmitClangBasicCMakeFilePass(configuration)); - order.add( - new vadl.lcb.template.clang.lib.CodeGen.EmitCodeGenModuleCMakeFilePass(configuration)); - order.add(new vadl.lcb.template.clang.lib.CodeGen.Targets.EmitClangCodeGenTargetFilePass( - configuration)); - order.add( - new vadl.lcb.template.clang.lib.CodeGen.EmitCodeGenTargetInfoHeaderFilePass(configuration)); - order.add(new vadl.lcb.clang.lib.CodeGen.EmitCodeGenModuleFilePass(configuration)); - order.add(new vadl.lcb.template.lld.ELF.EmitLldDriverFilePass(configuration)); - order.add(new vadl.lcb.template.lld.ELF.EmitLldELFCMakeFilePass(configuration)); - order.add(new vadl.lcb.template.lld.ELF.EmitLldTargetHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.lld.ELF.Arch.EmitLldTargetRelocationsHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.lld.ELF.Arch.EmitLldManualEncodingHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lld.ELF.Arch.EmitImmediateUtilsHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lld.ELF.Arch.EmitLldArchFilePass(configuration)); - order.add(new EmitLldVadlBuiltinsHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lld.ELF.EmitLldTargetCppFilePass(configuration)); - order.add(new vadl.lcb.template.EmitLcbMakeFilePass(configuration)); - order.add(new EmitTargetElfRelocsDefFilePass( - configuration)); - order.add(new vadl.lcb.include.llvm.IR.EmitCMakeListsPass(configuration)); - order.add(new EmitMiddleendMainIntrinsicsTableGenPass(configuration)); - order.add(new EmitMiddleendIntrinsicsTableGenPass(configuration)); - order.add(new EmitCGBuiltinFilePass(configuration)); - order.add(new EmitCodeGenFunctionHeaderFilePass(configuration)); - order.add(new vadl.lcb.include.llvm.BinaryFormat.EmitElfHeaderFilePass(configuration)); - order.add(new vadl.lcb.include.llvm.Object.EmitELFObjectHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Misc.EmitBenchmarkRegisterHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitFrameLoweringCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.EmitMachineFunctionInfoHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetObjectFileCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitInstrInfoHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitDAGToDAGIselHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.AsmParser.EmitAsmParsedOperandCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.AsmParser.EmitAsmParsedOperandHeaderFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.AsmParser.EmitAsmRecursiveDescentParserHeaderFilePass( - configuration)); - order.add(new vadl.lcb.template.lib.Target.AsmParser.EmitAsmParserCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.AsmParser.EmitAsmParserCMakeFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.AsmParser.EmitAsmRecursiveDescentParserCppFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.EmitDAGToDAGISelCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitAsmPrinterHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitCallingConvTableGenFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitRegisterInfoHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.Utils.EmitBaseInfoFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.Utils.EmitImmediateFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetTableGenFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitAsmPrinterCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitSubTargetHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitFrameLoweringHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitPassConfigHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitISelLoweringCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.TargetInfo.EmitTargetInfoHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.TargetInfo.EmitTargetInfoCMakeFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.TargetInfo.EmitTargetInfoCppFile(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitPassConfigCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitSubTargetCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetCMakeFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCCodeEmitterHeaderFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMcTargetDescCMakeFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCCodeEmitterCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmStreamerCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFStreamerCppFilePass(configuration)); - order.add( - new EmitConstMatIntHeaderFilePass(configuration)); - order.add( - new EmitConstMatIntCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCInstExpanderCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmBackendHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFObjectWriterCppFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCExprHeaderFilePass(configuration)); - order.add(new EmitMCInstLowerCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCExprCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCTargetDescHeaderFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmUtilsCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCTargetDescCppFilePass(configuration)); - order.add(new EmitInstPrinterHeaderFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmBackendCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCAsmInfoCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFStreamerHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmStreamerHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitTargetStreamerHeaderFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCAsmInfoHeaderFilePass(configuration)); - order.add(new EmitMCInstLowerHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitELFObjectWriterHeaderFilePass( - configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitFixupKindsHeaderFilePass(configuration)); - order.add( - new EmitInstPrinterCppFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.MCTargetDesc.EmitAsmUtilsHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.MCTargetDesc.EmitMCInstExpanderHeaderFilePass( - configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitRegisterInfoTableGenFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitInstrInfoCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitInstrInfoTableGenFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitRegisterInfoCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetMachineCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetMachineHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetObjectFileHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitISelLoweringHeaderFilePass(configuration)); - order.add( - new vadl.lcb.template.lib.Target.EmitTargetTransformInfoHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Target.EmitTargetTransformInfoCppFilePass(configuration)); - order.add( - new vadl.lcb.template.include.llvm.TargetParser.EmitTripleHeaderFilePass(configuration)); - order.add(new vadl.lcb.template.lib.TargetParser.EmitTripleCppFilePass(configuration)); - order.add(new vadl.lcb.template.lib.Object.EmitElfCppFilePass(configuration)); - - return order; - } - - /** - * Constructs the pass order used to generate the ISS (QEMU) from a VADL specification. - */ - public static PassOrder iss(IssConfiguration config) throws IOException { - var order = viam(config); - - // skip inlining of field access - order.skip(ArtificialResInlinerPass.class); - order.skip(FieldAccessInlinerPass.class); - order.skip(NormalizeFieldsToFieldAccessFunctionsPass.class); - order.skip(RenamingConflictingRegistersPass.class); - order.skip(OverwriteInputOperandsPass.class); - - // iss function passes - order - .add(new IssInfoRetrievalPass(config)) - .add(new IssConfigurationPass(config)) - .add(new IssMemoryDetectionPass(config)) - .add(new IssRegisterAccessLoweringPass(config)) - .add(new IssExecStrategyPass(config)) - .add(new IssBitfieldWriteLoweringPass(config)) - // run canonicalization, as register access lowering may create constant nodes - .add(new CanonicalizationPass(config)) - .add(new IssOpDecompositionPass(config)) - .add(new IssNormalizationPass(config)) - .add(new IssExtractOptimizationPass(config)) - .add(new IssMemoryAccessTransformationPass(config)) - .add(new IssBuiltInArgTruncOptPass(config)) - .add(new IssLoopUnrollPass(config)) - .add(new SideEffectSchedulingPass(config)) - .add(new IssSafeResourceReadPass(config)) - .add(new IssPcAccessConversionPass(config)) - .add(new IssTcgContextPass(config)) - .add(new IssSelectLoweringPass(config)) - .add(new IssTcgSchedulingPass(config)) - .add(new TcgBranchLoweringPass(config)) - .add(new TcgOpLoweringPass(config)) - .add(new IssHardcodedTcgAddOnPass(config)) - .add(new IssTcgVAllocationPass(config)) - - // Common passes - .add(new IssGdbInfoExtractionPass(config)) - - // pre emit passes - .add(new IssCFunctionExtractionPass(config)) - .add(new IssRegisterAccessInfoRetrievalPass(config)) - ; - - addDecodePasses(order, config); - - if (config.dumpMode() == DumpMode.ISS_PASS_GRAPHS) { - addIssInstructionGraphDumpPasses(order, config); - } - - addHtmlDump(order, config, "ISS Lowering Dump", - "This dump is executed after the iss transformation passes were executed.", - IssInfoRetrievalPass.class, - IssConfiguration.class); - - if (!config.isDryRun()) { - // add iss template emitting passes to order - addIssEmitPasses(order, config); - } - - return order; - } - - /** - * Adds {@link DumpIssInstructionGraphsPass} after each pass in ISS mode. - */ - private static PassOrder addIssInstructionGraphDumpPasses(PassOrder order, - GeneralConfiguration config) { - return order.addBetweenEach((current, next) -> { - if (current instanceof DumpIssInstructionGraphsPass) { - return Optional.empty(); - } - return Optional.of(new DumpIssInstructionGraphsPass(config)); - }); - } - - private static void addIssEmitPasses(PassOrder order, IssConfiguration config) { - order - // top-level meson build. just because we want to add target trace-events - .add(issDefault("meson.build", config)) - - // includes - .add(issDefault("/include/vadl-builtins.h", config)) - .add(issDefault("/include/vadl-iss-builtins.h", config)) - - // config rendering - .add(issDefault("/configs/devices/gen-arch-softmmu/default.mak", config)) - .add(issDefault("/configs/targets/gen-arch-softmmu.mak", config)) - .add(issDefault("/target/gen-arch/cpu.h", config)) - - // arch init rendering - .add(issDefault("/include/disas/dis-asm.h", config)) - .add(issDefault("/include/sysemu/arch_init.h", config)) - - // gdb rendering - // gdb-xml/gen-arch-cpu.xml - .add(new EmitIssGdbXmlPass(config)) - // target/gen-arch/gdbsub.c - .add(new EmitIssGdbStubPass(config)) - - // plugin rendering - .add(issDefault("/tests/tcg/plugins/endstate.c", config)) - .add(issDefault("/tests/tcg/plugins/meson.build", config)) - - // hardware rendering - .add(issDefault("/hw/Kconfig", config)) - .add(issDefault("/hw/meson.build", config)) - .add(issDefault("/hw/gen-arch/Kconfig", config)) - .add(issDefault("/hw/gen-arch/meson.build", config)) - .add(new EmitIssHwMachineCPass(config)) - .add(issDefault("/hw/gen-arch/gen-machine.h", config)) - .add(issDefault("/hw/gen-arch/boot.c", config)) - .add(issDefault("/hw/gen-arch/boot.h", config)) - - // target rendering - .add(issDefault("/target/Kconfig", config)) - .add(issDefault("/target/meson.build", config)) - .add(issDefault("/target/gen-arch/trace-events", config)) - .add(issDefault("/target/gen-arch/trace.h", config)) - .add(issDefault("/target/gen-arch/Kconfig", config)) - .add(issDefault("/target/gen-arch/meson.build", config)) - .add(issDefault("/target/gen-arch/cpu-bits.h", config)) - .add(new EmitIssHelperCPass(config)) - // target/gen-arch/helper.h - .add(new EmitIssHelperHPass(config)) - // target/gen-arch/do-exception.c.inc - .add(new EmitIssDoExcCIncPass(config)) - // target/gen-arch/cpu-qom.h - .add(new EmitIssCpuQomHeaderPass(config)) - // target/gen-arch/cpu-param.h - .add(new EmitIssCpuParamHeaderPass(config)) - // target/gen-arch/cpu.h - .add(new EmitIssCpuHeaderPass(config)) - // target/gen-arch/cpu.c - .add(new EmitIssCpuSourcePass(config)) - // target/gen-arch/vdt-decode.c - .add(new EmitIssDecodeTreePass(config)) - // target/gen-arch/insn_trans/trans_.c.inc - .add(new EmitIssInsnTransCIncPass(config)) - // target/gen-arch/translate.c - .add(new EmitIssTranslateCPass(config)) - // target/gen-arch/machine.c - .add(new EmitIssMachinePass(config)) - - // plugin rendering - .add(issDefault("/contrib/plugins/meson.build", config)) - // cosimulation plugin - .add(issDefault("/contrib/plugins/cosimulation.c", config)) - ; - - addUserModeEmitPasses(order, config); - } - - /** - * Adds all necessary passes for generating the VDT. - * - * @param order into which the passes will be inserted. - * @param config from which to decide if a dump is wanted. - */ - private static void addDecodePasses(PassOrder order, GeneralConfiguration config) { - - // VDT Decode Passes - order - .add(new VdtEncodingConstraintValidationPass(config)) - .add(new VdtInputPreparationPass(config)); - - var skipSynthesis = Stream.of(config.getDecoderOptions().getOptsToSkip()) - .anyMatch(o -> o == OPT_CONSTRAINT_SYNTHESIS); - if (!skipSynthesis) { - order.add(new VdtConstraintSynthesisPass(config)); - } - - var skipEncodingVerification = Stream.of(config.getDecoderOptions().getOptsToSkip()) - .anyMatch(o -> o == OPT_ENCODING_VERIFICATION); - if (!skipEncodingVerification) { - order.add(new VdtEncodingSemanticVerificationPass(config)); - } - - order.add(new VdtLoweringPass(config)); - - var skipDecoderVerification = Stream.of(config.getDecoderOptions().getOptsToSkip()) - .anyMatch(o -> o == OPT_DECODER_VERIFICATION); - if (!skipDecoderVerification) { - order.add(new VdtVerificationPass(config)); - } - } - - private static void addUserModeEmitPasses(PassOrder order, IssConfiguration config) { - // right now, we only emit those passes if we generate the ISS for RV64UME - var inputPath = config.inputPath(); - if (inputPath != null && inputPath.getFileName().endsWith("rv64ume.vadl")) { - order - .add(issDefault("/configs/targets/gen-arch-linux-user.mak", config)) - - .add(issDefault("/linux-user/meson.build", config)) - .add(issDefault("/linux-user/elfload.c", config)) - .add(issDefault("/linux-user/syscall_defs.h", config)) - - .add(issDefault("/linux-user/gen-arch/meson.build", config)) - .add(issDefault("/linux-user/gen-arch/cpu_loop.c", config)) - .add(issDefault("/linux-user/gen-arch/signal.c", config)) - .add(issDefault("/linux-user/gen-arch/sockbits.h", config)) - .add(issDefault("/linux-user/gen-arch/syscall.tbl", config)) - .add(issDefault("/linux-user/gen-arch/syscallhdr.sh", true, config)) - .add(issDefault("/linux-user/gen-arch/target_cpu.h", config)) - .add(issDefault("/linux-user/gen-arch/target_elf.h", config)) - .add(issDefault("/linux-user/gen-arch/target_errno_defs.h", config)) - .add(issDefault("/linux-user/gen-arch/target_fcntl.h", config)) - .add(issDefault("/linux-user/gen-arch/target_mman.h", config)) - .add(issDefault("/linux-user/gen-arch/target_prctl.h", config)) - .add(issDefault("/linux-user/gen-arch/target_proc.h", config)) - .add(issDefault("/linux-user/gen-arch/target_resource.h", config)) - .add(issDefault("/linux-user/gen-arch/target_signal.h", config)) - .add(issDefault("/linux-user/gen-arch/target_structs.h", config)) - .add(issDefault("/linux-user/gen-arch/target_syscall.h", config)) - .add(issDefault("/linux-user/gen-arch/termbits.h", config)) - ; - } - } - - /** - * Constructs the pass order used to generate the RTL (Chisel) from a VADL specification. - */ - public static PassOrder rtl(RtlConfiguration config) throws IOException { - var order = viam(config); - - order.skip(NormalizeFieldsToFieldAccessFunctionsPass.class); - order.skip(RenamingConflictingRegistersPass.class); - order.skip(OverwriteInputOperandsPass.class); - - order.add(new RtlConfigurationPass(config)); - - order.add(new StageOrderingPass(config)); - - order.add(new InstructionProgressGraphCreationPass(config)) - .add(new MiaMappingCreationPass(config)) - .add(new InstructionProgressGraphMergePass(config)) - .add(new MiaMappingOptimizePass(config)) - .add(new InstructionProgressGraphLowerPass(config)) - .add(new InstructionProgressGraphNamePass(config)); - - addHtmlDump(order, config, - "mia-map", - "MiA after mapping instruction behavior"); - - order.add(new HazardAnalysisPass(config)); - - if (config.isEmitDebugPrint()) { - order.add(new DebugOutputPass(config)); - } - - order.add(new MiaMappingInlinePass(config)); - - if (config.isEmitRVFI()) { - order.add(new EmitRVFIOutputsPass(config)); - } - - order.add(new ForwardingLogicPass(config)) - .add(new ControlLogicPass(config)); - - addHtmlDump(order, config, - "mia-inline", - "MiA after inlining instruction behavior"); - - if (config.getDecoderOptions().getGenerator() != RTL_TABLE) { - // Prepares and constructs the VDT, which is not used by the rtl-table strategy - addDecodePasses(order, config); - } - - if (!config.isDryRun()) { - addRtlEmitPasses(order, config); - } - - return order; - } - - private static void addRtlEmitPasses(PassOrder order, RtlConfiguration config) { - order.add(new EmitBuildSbtPass(config)) - .add(new EmitModulesPass(config)) - .add(new EmitVadlLibPass(config)) - // tests and simulation - .add(new EmitCoreTestPass(config)) - .add(new EmitCoreEmitPass(config)) - .add(new EmitElfSimPass(config)) - .add(new EmitSimMemSvPass(config)) - .add(new EmitSimMemCppPass(config)) - // build files - .add(new EmitScalafmtConfigPass(config)) - .add(new EmitRtlMakefilePass(config)) - // devcontainer - .add(new EmitRtlDevcontainerConfigPass(config)) - .add(new EmitRtlDevcontainerDockerComposePass(config)) - .add(new CleanupEmitDirectoryPass(config)); - } - - /** - * Adds all necessary passes for a html dump of the VIAM if the config whishes to dump. - * - * @param order into which the passes will be inserted. - * @param config from which to decide if a dump is wanted. - * @param phase is the name of the dump. - * @param description for the dump. - * @param exclusions for which no behavior graph should be collected. - * @return the modified {@link PassOrder}. - */ - private static PassOrder addHtmlDump(PassOrder order, GeneralConfiguration config, - String phase, String description, Class... exclusions) { - - if (config.doDump()) { - addDumpBehaviorCollectionPasses(order, config, exclusions); - var htmlConfig = HtmlDumpPass.Config.from(config, phase, description); - order.add(new HtmlDumpPass(htmlConfig)); - } - - return order; - } - - /** - * Adds a {@link CollectBehaviorDotGraphPass} after each existing pass in the pass order. - * This function is idempotent, so calling it on the same pass order will not add - * more behavior collection passes. - * - * @param order to add collection passes to - * @param exceptions pass classes that don't change the behavior and therefore should not have - * behavior collection pass successor. - * @return the passed order - */ - private static PassOrder addDumpBehaviorCollectionPasses(PassOrder order, - GeneralConfiguration config, - Class... exceptions) { - if (!config.doDump()) { - return order; - } - - var dontRun = Streams.concat(Stream.of( - ViamVerificationPass.class, - AbstractTemplateRenderingPass.class, - CollectBehaviorDotGraphPass.class - ), Stream.of(exceptions)).toList(); - - order.addBetweenEach((prev, next) -> { - - if (dontRun.stream().anyMatch(a -> a.isInstance(prev))) { - // if previous is any of the dont run pass classes, don't add the collection behavior - return Optional.empty(); - } - - if (next.orElse(null) instanceof CollectBehaviorDotGraphPass) { - // don't add a collection pass, if the next one is already a collection pass. - return Optional.empty(); - } - - return Optional.of(new CollectBehaviorDotGraphPass(config)); - }); - return order; - } - - - /** - * A pseudo pass that indicates the first pass in the PassOrder. - * It is necessary to dump the behavior directly after creation, - * before any other pass manipulated the behavior. - * - *

    This pass contains no logic.

    - */ - public static class ViamCreationPass extends Pass { - - public ViamCreationPass(GeneralConfiguration configuration) { - super(configuration); - } - - @Override - public PassName getName() { - return PassName.of("VIAM Creation (pseudo pass)"); - } - - @Nullable - @Override - public Object execute(PassResults passResults, Specification viam) throws IOException { - return null; - } - } - -}