5
我想知道LLVM中是否有任何函數/方法在LLVM IR中添加Open-MP結構。 llvm-3.0是否仍支持OpenMP指令?LLVM OpenMP支持
我想知道LLVM中是否有任何函數/方法在LLVM IR中添加Open-MP結構。 llvm-3.0是否仍支持OpenMP指令?LLVM OpenMP支持
OpenMP是一種高級語言擴展。所以,它是C/C++/FORTRAN前端,它應該將雜注降低到必要的運行時調用和代碼更改。
我看不出OpenMP如何「添加」到LLVM IR。如果您需要支持OpenMP pragmas併發出LLVM IR的C/C++/FORTRAN編譯器 - 請嘗試dragonegg。
在最近的ml線程[(LLVMdev)OpenMP支持LLVM/jan2012](http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-January/046823.html)中,提出了使用內在函數。 「對自動並行感興趣的人是 可能更感興趣將LLVM-IR環路轉換爲帶有OpenMP擴展的LLVM-IR 。」 – osgx 2012-02-08 13:49:05
@osgx:如果我們正在討論對omp運行時調用的庫獨立表示,那麼是的,特殊內在函數是一種自然的方式。理論上Autopar代碼可能會產生omp-aware代碼。所以,很可能最初的問題需要澄清如何「LLVM仍然可以支持OpenMP指令」:) – 2012-02-08 14:50:58
對。基本上,發生openmp的事情是一系列針對各種openmp指令的庫調用(以及一些cfg更改),openmp在IR中沒有什麼特殊的需要。 如果您希望能夠注意到OpenMP指令並在更高級別重構循環變換,那麼您可能需要一些IR支持,但我並不認爲它是需要的。 – echristo 2012-02-09 19:12:52