From b306be5ee6f6b3a2551f1728e66e57ad7e415cdd Mon Sep 17 00:00:00 2001 From: Natalia Gavrilenko Date: Tue, 9 Jul 2024 20:46:31 +0200 Subject: [PATCH] wip --- .../visitors/spirv/ProgramBuilderSpv.java | 185 +++++------------- .../visitors/spirv/VisitorOpsAtomic.java | 8 +- .../visitors/spirv/VisitorOpsMemory.java | 142 +++++--------- .../visitors/spirv/VisitorSpirvOutput.java | 19 +- .../processing/compilation/Compilation.java | 4 +- .../visitors/spirv/VisitorOpsMemoryTest.java | 4 +- .../spirv/gpuverify/SpirvRacesTest.java | 4 +- .../global_reduce_strength.spv.dis | 4 +- 8 files changed, 127 insertions(+), 243 deletions(-) diff --git a/dartagnan/src/main/java/com/dat3m/dartagnan/parsers/program/visitors/spirv/ProgramBuilderSpv.java b/dartagnan/src/main/java/com/dat3m/dartagnan/parsers/program/visitors/spirv/ProgramBuilderSpv.java index a9a5778a6c..01e97320b7 100644 --- a/dartagnan/src/main/java/com/dat3m/dartagnan/parsers/program/visitors/spirv/ProgramBuilderSpv.java +++ b/dartagnan/src/main/java/com/dat3m/dartagnan/parsers/program/visitors/spirv/ProgramBuilderSpv.java @@ -6,14 +6,16 @@ import com.dat3m.dartagnan.expression.integers.IntLiteral; import com.dat3m.dartagnan.expression.processing.ExprTransformer; import com.dat3m.dartagnan.expression.type.FunctionType; -import com.dat3m.dartagnan.expression.type.TypeFactory; import com.dat3m.dartagnan.parsers.program.visitors.spirv.decorations.BuiltIn; import com.dat3m.dartagnan.parsers.program.visitors.spirv.decorations.Decoration; import com.dat3m.dartagnan.parsers.program.visitors.spirv.decorations.DecorationType; import com.dat3m.dartagnan.parsers.program.visitors.spirv.helpers.HelperDecorations; import com.dat3m.dartagnan.parsers.program.visitors.spirv.helpers.HelperTags; +import com.dat3m.dartagnan.program.memory.ScopedPointer; import com.dat3m.dartagnan.parsers.program.visitors.spirv.transformers.MemoryTransformer; import com.dat3m.dartagnan.parsers.program.visitors.spirv.transformers.RegisterTransformer; +import com.dat3m.dartagnan.program.memory.ScopedPointerVariable; +import com.dat3m.dartagnan.expression.type.ScopedPointerType; import com.dat3m.dartagnan.program.Thread; import com.dat3m.dartagnan.program.*; import com.dat3m.dartagnan.program.event.*; @@ -41,28 +43,26 @@ public class ProgramBuilderSpv { private static final Logger logger = LogManager.getLogger(ProgramBuilderSpv.class); + protected final Map types = new HashMap<>(); + protected final Map expressions = new HashMap<>(); + protected final Set specConstants = new HashSet<>(); + protected final Map forwardFunctions = new HashMap<>(); + protected final Map labels = new HashMap<>(); + protected final Deque