是否有任何內置的LLVM pass來檢查生成的IR是否處於SSA格式?是否有任何LLVM傳遞來檢查LLVM IR是否處於SSA形式?
例如:如果使用mem2reg選項編譯IR,我們將以SSA形式獲得IR。我們可以檢查我們的通行證,是否使用mem2reg?
是否有任何內置的LLVM pass來檢查生成的IR是否處於SSA格式?是否有任何LLVM傳遞來檢查LLVM IR是否處於SSA形式?
例如:如果使用mem2reg選項編譯IR,我們將以SSA形式獲得IR。我們可以檢查我們的通行證,是否使用mem2reg?
見llvm::verifyModule
,llvm::verifyFunction
,或llvm::createVerifierPass
。 cf http://llvm.org/doxygen/Verifier_8cpp_source.html。
另請參見opt的-verify-each
選項和PassManagerBuilder
的驗證*字段。
我想你想知道正在使用哪個LLVM通道。
在這種情況下,如果您使用的是鏗鏘聲,則可以使用-debug-pass=Arguments
或-mllvm -debug-pass=Arguemnt
運行opt。
即使不是這樣,遍歷每條指令都很容易,尋找'phi'指令。 – arrowd