使用LLVM时设置llvm.masked.store固有挥发

时间:2019-06-04 10:28:52

标签: c++ llvm

我正在使用代码生成器中固有的llvm masked-store。但是,由于这是一个固有函数,因此无法像使用普通的llvm存储一样将其标记为volatile

是否有任何简便的方法将它们标记为volatile,或在它们周围添加围栏以强制实现类似功能?我在想类似在syncscope中添加"singlethreaded"的栅栏,但是我无法确定是否可行。

有问题的代码不允许我包含可变参数:

bldr.CreateMaskedStore(value, addrVal, align, mask);

(我也理解llvm volatile'ness,并且我想让它与其他同步上的原子相反)

0 个答案:

没有答案