|
9 | 9 | import com.dat3m.dartagnan.program.analysis.ReachingDefinitionsAnalysis;
|
10 | 10 | import com.dat3m.dartagnan.program.analysis.alias.AliasAnalysis;
|
11 | 11 | import com.dat3m.dartagnan.program.event.Event;
|
12 |
| -import com.dat3m.dartagnan.program.event.RegReader; |
13 | 12 | import com.dat3m.dartagnan.program.event.Tag;
|
14 | 13 | import com.dat3m.dartagnan.program.event.core.*;
|
15 | 14 | import com.dat3m.dartagnan.program.filter.Filter;
|
|
33 | 32 | import java.util.concurrent.ConcurrentHashMap;
|
34 | 33 | import java.util.stream.Collectors;
|
35 | 34 |
|
36 |
| -import static com.dat3m.dartagnan.configuration.Arch.RISCV; |
37 | 35 | import static com.dat3m.dartagnan.program.Register.UsageType.*;
|
38 | 36 | import static com.dat3m.dartagnan.program.event.Tag.FENCE;
|
39 | 37 | import static com.dat3m.dartagnan.program.event.Tag.VISIBLE;
|
@@ -233,24 +231,6 @@ public RelationAnalysis.Knowledge visitInternalDataDependency(DirectDataDependen
|
233 | 231 |
|
234 | 232 | private EventGraph computeInternalDependencies(Set<Register.UsageType> usageTypes) {
|
235 | 233 | Map<Event, Set<Event>> data = new HashMap<>();
|
236 |
| - program.getThreadEvents(RegReader.class).forEach(reader -> { |
237 |
| - ReachingDefinitionsAnalysis.Writers state = definitions.getWriters(reader); |
238 |
| - reader.getRegisterReads().forEach(read -> { |
239 |
| - if (usageTypes.contains(read.usageType())) { |
240 |
| - Register register = read.register(); |
241 |
| - // TODO: Update after this is merged |
242 |
| - // https://github.com/hernanponcedeleon/Dat3M/pull/741 |
243 |
| - // Register x0 is hardwired to the constant 0 in RISCV |
244 |
| - // https://en.wikichip.org/wiki/risc-v/registers, |
245 |
| - // and thus it generates no dependency, see |
246 |
| - // https://github.com/herd/herdtools7/issues/408 |
247 |
| - if (!program.getArch().equals(RISCV) || !register.getName().equals("x0")) { |
248 |
| - state.ofRegister(register).getMayWriters().forEach(writer -> |
249 |
| - data.computeIfAbsent(writer, x -> new HashSet<>()).add(reader)); |
250 |
| - } |
251 |
| - } |
252 |
| - }); |
253 |
| - }); |
254 | 234 | if (usageTypes.contains(DATA)) {
|
255 | 235 | program.getThreadEvents(ExecutionStatus.class).forEach(execStatus -> {
|
256 | 236 | if (execStatus.doesTrackDep()) {
|
|
0 commit comments