TMFree is a compiler mechanism implemented in LLVM that allows programmers to precisely identify and eliminate unnecessary barriers in their Transactional Memory code. TMFree provides a language extension to annotate programs to indicate which variables can be accessed without barriers and LLVM IR passes remove redundant barriers.
https://github.com/jaopaulolc/TMFree