Comments (5)
Thanks for the report.
LLVM-14 is not supported yet, so I don't know whether something breaks or there's any regression. In principle, as long as the GenMC version is the same, the running time should be comparable.
I'll try to add support for LLVM-14 in the next version (along with some new features), though this might take some time as I'll be out of office for a while. In the meantime, if you upload the .ll files produced by GenMC (via -transform-output
), I might be able to guess why this happens and/or push some workaround.
Michalis
from genmc.
Thanks for reply!
I attached an archive with two .ll
files: genmc-llvm.zip.
Pavel
from genmc.
Sorry for the delay.
I assume that GenMC did not actually terminate for LLVM 14?
In any case, the code that clang produces for the two versions is different, hence the different behavior. In LLVM 14, GenMC fails to automatically bound some loops and gets stuck into some infinite loop.
I will try to fix this soon, but in the meantime using -unroll=N
should make the tool terminate.
Michalis
from genmc.
Thank you very much!
The option -unroll=100
helps us.
Pavel
from genmc.
It turns out that there was a bug in GenMC that is not fixed. The behavior should now be consistent across LLVM versions.
BTW, I'd recommend making BackOff
in fmutex.cpp
a no-op when MC_ON
; having it enabled only slows down verification.
from genmc.
Related Issues (20)
- Segmentation fault with IMM HOT 2
- 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
- genmc vs IMM paper (Remark 2) HOT 3
- BUG: Failure at MOCalculator.cpp:65/getStoreOffset()! HOT 6
- 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
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.