我想知道哪些所有 llvm IR 语句对应于 clang 中特定 pragma 中的代码。我的编译指示具有以下结构。
#pragma markme
{
stmt1;
stmt2;
}
我需要知道标记 me pragma 的左大括号和右大括号之间存在哪些所有 stmts。
我们可以将一些元数据附加到这些 stmts 吗?如果是的话,任何人都可以指出我的一些参考。
我在谷歌上搜索并找到了这个
添加一个 pragma 处理程序,它在操作接口上有一个回调。添加回调的 sema 实现,它在 Sema 对象中设置一些内部位。在“for”语句中添加一个新位,以指定它是否具有#pragma 优化集。修改 codegin 以根据该位发出元数据。
任何人都可以提供更多详细信息。
我正在使用最新的 llvm (llvm 3.4)
注意:对任何方向的任何帮助表示赞赏。我知道 llvm 可能会进行优化以移动语句。但这对我来说很好