我无法找到llvm.pow.f64函数的实现。我想看看它是如何在内部实现的。请告诉我是否可以查看它的源代码,或者只有它的二进制文件可用。
答案 0 :(得分:3)
SimplifyLibCalls
传递将此内在替换为其他调用。请查看PowOpt
中的lib/Transforms/Scalar/SimplifyLibCalls.cpp
。
SimplifyLibCalls :: InitOptimizations将调用优化器分配给内在函数,并为llvm.pow.*
执行此操作:
Optimizations["llvm.pow.f32"] = &Pow;
Optimizations["llvm.pow.f64"] = &Pow;
Optimizations["llvm.pow.f80"] = &Pow;
Optimizations["llvm.pow.f128"] = &Pow;
Optimizations["llvm.pow.ppcf128"] = &Pow;