Comments (3)
Hi Hernan,
genmc -imm
does not follow the published IMM model to the letter: it uses the same sw
definition as RC11. Going forward, since C++20 adopted a stronger definition of release sequences, we should probably update both RC11 and IMM to adopt the C++20 definition.
You are right about the acquire tag in (2, 3): UWacq (x, 2) L.20
. It is there because the FAI
is marked "acq" but is effectively ignored: UWacq is treated exactly as a UWrlx.
from genmc.
Thanks @vafeiadis for the clarification. Is there any other difference between the implemented model and the paper? What about the strong RMW instructions (like example 3.10). It seems to me that genmc understands all writes coming from a RMW as a strong one. Is this correct?
from genmc.
What about the strong RMW instructions (like example 3.10). It seems to me that genmc understands all writes coming from a RMW as a strong one. Is this correct?
This is currently the case, yes.
Is there any other difference between the implemented model and the paper?
I don't recall any other differences (apart from GenMC supporting SC accesses and IMM not). I am closing this for now, but will post here any other changes to the model.
from genmc.
Related Issues (20)
- LKMM atomic_andnot and non-returning atomics HOT 1
- Macro `__CONFIG_GENMC_INODE_DATA_SIZE` not defined HOT 1
- Unexpected failure of cmpxchg HOT 1
- Problems with while(x--) HOT 2
- Unexpected behaviour under the unroll option. HOT 1
- BUG: Failure at MOCalculator.cpp:65/getStoreOffset()! HOT 6
- LLVM-6 build is much faster than LLVM-14 build HOT 5
- fprintf(stderr,...) triggers a crash in genmc HOT 1
- Bug with -imm (dependency broken after revisit?) HOT 1
- [missing feature/bug] thread local storage array results into LLVM error HOT 1
- bug: Anomaly with seq_cst and assert HOT 1
- BUG: Failure at PromoteMemIntrinsicPass.cpp:78/promoteMemSet()! HOT 1
- Strange case with compare and swap HOT 1
- Feature Request: support for pthread_rwlock
- BUG: Failure at MOCalculator.cpp:65/getStoreOffset()! HOT 2
- Several issues with one client
- Compiling with optimizations disabled results in runtime error HOT 4
- Rust Support HOT 1
- LKMM: failing cmpxchg should have no ordering HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from genmc.