是否有任何LLVM传递来检查LLVM IR是否处于SSA形式?
问题描述:
是否有任何内置的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