什么将OpenMP的#pragma指令扩展到Clang和Open64?

时间:2014-09-17 17:59:35

标签: clang openmp directive pragma

我一直在玩 Clang Open64 并使用 OpenMP 库。我对这三个人不知所措! 我想知道是否有人可以帮助我找到 #pragma 指令扩展到的内容。我所知道的是,C文件中的 #pragma 指令将扩展为几行代码。我希望有人能告诉我在哪里可以找到它。我确信Clang和Open64编译器有汇编输出和不同的中间表示。但由于这没用,我想知道遇到指令时扩展的确切代码。

让我重新解释一下我的问题。

我知道OpenMP #pragma指令已扩展为某些代码行(或者我错了)。我希望有人能告诉我在编译器的来源或OpenMP的来源中我应该在哪里找到它?

让我举个例子。 考虑一下这段代码:

#pragma omp parallel
{
    printf("Hello world! %d", omp_get_thread_num());
}

据我所知,它将被转换为类似的东西(或更复杂的东西):

f1();
{
    printf("Hello world! %d", omp_get_thread_num());
}
f2();

我想知道f1()和f2()方法是什么。

如果我错了告诉我。如果你知道我应该在代码中找到什么,请告诉我。

感谢。

0 个答案:

没有答案