Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
692588f
Moved constraint/axiom consistency encoding into WmmEncoder
ThomasHaas Jan 26, 2026
33b7eba
- Moved most Wmm-related encoding code to WmmEncoder
ThomasHaas Feb 10, 2026
1c26ec7
- Moved Wmm.Configuration to WmmEncoder
ThomasHaas Feb 10, 2026
eb0d249
- Add ActiveSetAnalysis and move all EncodeSet classes there
ThomasHaas Feb 10, 2026
8148b1a
More refactor
ThomasHaas Feb 10, 2026
2f6872a
Fix comments
ThomasHaas Feb 10, 2026
1c917e4
More cleanup and clarification of ActiveSetAnalysis
ThomasHaas Feb 10, 2026
80f278a
Refactor
ThomasHaas Feb 10, 2026
8703fcb
- More refactor
ThomasHaas Feb 10, 2026
9784081
More refactor
ThomasHaas Feb 10, 2026
d4e7c51
Remove unnecessary Encoder interface
ThomasHaas Feb 10, 2026
5ad3b25
Fix bias computation & compute biases before memory model processing
ThomasHaas Feb 10, 2026
1d467ab
Minor refactor
ThomasHaas Feb 11, 2026
f887355
Moved PropertyEncoder.encodeLastCoConstraints to WmmEncoder
ThomasHaas Feb 11, 2026
0950bc1
Remove idl special case in extraction of co in ExecutionModel
ThomasHaas Feb 11, 2026
f547895
Fix after rebase
hernan-poncedeleon Feb 17, 2026
e63c3d2
Fix Relation.isInternal filtering all relations
ThomasHaas Feb 25, 2026
f074219
Fixup after rebase
ThomasHaas Feb 27, 2026
1fbb743
Feedback
ThomasHaas Feb 27, 2026
766e04b
Minor refactor
ThomasHaas Feb 28, 2026
869e725
Remove wrong equals/hashcode methods from Axiom
ThomasHaas Feb 28, 2026
db1beba
More refactor.
ThomasHaas Mar 1, 2026
d589fb1
Remove active set comparison from RelationAnalysisTest.
ThomasHaas Mar 1, 2026
cb070e4
Remove encoding test from maven.yml
ThomasHaas Mar 1, 2026
cfefeef
Minor refactor
ThomasHaas Mar 1, 2026
23e157c
Optimize computeCartesianProduct a little bit
ThomasHaas Mar 2, 2026
c0049c4
Feedback
ThomasHaas Mar 2, 2026
54377ec
Add missing negation symbol to printing of base literals
ThomasHaas Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,6 @@ jobs:
- name: Other tests
run: mvn test -Dtest="com/dat3m/dartagnan/others/**/*" -f dartagnan/pom.xml

- name: Encoding tests
run: mvn test -Dtest="com/dat3m/dartagnan/encoding/**/*" -f dartagnan/pom.xml

- name: Parsers tests
run: mvn test -Dtest="com/dat3m/dartagnan/parsers/**/*" -f dartagnan/pom.xml

Expand Down
4 changes: 2 additions & 2 deletions dartagnan/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -252,13 +252,14 @@
<buildArg>--enable-native-access=ALL-UNNAMED</buildArg>
</buildArgs>
<initializeAtBuildTime>
<!-- Every class should also be registered in OptionsInfo -->
<!-- Every class should also be registered in OptionsInfo and reflect-config.json -->
<className>com.dat3m.dartagnan.wmm.RelationNameRepository</className>
<className>com.dat3m.dartagnan.configuration.OptionNames</className>
<className>com.dat3m.dartagnan.wmm.axiom.Acyclicity</className>
<className>com.dat3m.dartagnan.wmm.axiom.Emptiness</className>
<className>com.dat3m.dartagnan.wmm.axiom.Irreflexivity</className>
<className>com.dat3m.dartagnan.Dartagnan</className>
<className>com.dat3m.dartagnan.encoding.ActiveSetAnalysis</className>
Comment thread
hernanponcedeleon marked this conversation as resolved.
<className>com.dat3m.dartagnan.encoding.EncodingContext</className>
<className>com.dat3m.dartagnan.encoding.ProgramEncoder</className>
<className>com.dat3m.dartagnan.encoding.SymmetryEncoder</className>
Expand All @@ -281,7 +282,6 @@
<className>com.dat3m.dartagnan.utils.printer.Printer</className>
<className>com.dat3m.dartagnan.verification.solving.ModelChecker$SMTConfig</className>
<className>com.dat3m.dartagnan.verification.solving.RefinementSolver</className>
<className>com.dat3m.dartagnan.wmm.Wmm$Config</className>
<className>com.dat3m.dartagnan.wmm.analysis.RelationAnalysis$Config</className>
<className>com.dat3m.dartagnan.wmm.analysis.WmmAnalysis</className>
<className>com.dat3m.dartagnan.wmm.processing.WmmProcessingManager</className>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.dat3m.dartagnan.wmm.axiom.Emptiness;
import com.dat3m.dartagnan.wmm.axiom.Irreflexivity;
import com.dat3m.dartagnan.Dartagnan;
import com.dat3m.dartagnan.encoding.ActiveSetAnalysis;
import com.dat3m.dartagnan.encoding.EncodingContext;
import com.dat3m.dartagnan.encoding.ProgramEncoder;
import com.dat3m.dartagnan.encoding.SymmetryEncoder;
Expand Down Expand Up @@ -64,6 +65,7 @@ private static Stream<Class<?>> classes() {
Emptiness.class,
Irreflexivity.class,
Dartagnan.class,
ActiveSetAnalysis.class,
EncodingContext.class,
ProgramEncoder.class,
SymmetryEncoder.class,
Expand All @@ -85,7 +87,6 @@ private static Stream<Class<?>> classes() {
Printer.class,
ModelChecker.SMTConfig.class,
RefinementSolver.class,
Wmm.Config.class,
RelationAnalysis.Config.class,
WmmAnalysis.class,
WmmProcessingManager.class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class OptionNames {
// Encoding Options
public static final String USE_INTEGERS = "encoding.integers";
public static final String ENABLE_ACTIVE_SETS = "encoding.activeSets";
public static final String REDUCE_ACYCLICITY_ENCODE_SETS = "encoding.wmm.reduceAcyclicityEncodeSets";
public static final String REDUCE_ACYCLICITY_RELEVANT_SETS = "encoding.wmm.reduceAcyclicityRelevantSets";
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing options name is never a good idea, so unless there is a really good reason to do so, we should avoid it.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that option is never used externally and there is no reason to. Honestly, we could just remove the option. But if we keep it, I want it to match with the internal naming of things instead of having a comment that says "btw. encode sets == relevant sets" and forever living with this ugly discrepancy.

That being said, I could revert the renaming and use encodeSets again. The biggest issue I had with the naming was that encodeSets was misused to represent both "relevant sets" and "active sets", but I fixed that issue.

public static final String MERGE_CF_VARS = "encoding.mergeCFVars";
public static final String INITIALIZE_REGISTERS = "encoding.initializeRegisters";
public static final String IGNORE_FILTER_SPECIFICATION = "encoding.ignoreFilterSpecification";
Expand Down
Loading
Loading