在llvm IR中将常量Double转换为Int

在llvm IR中将常量Double转换为Int,llvm,Llvm,鉴于以下情况 %1 = call double @llvm.pow.f64(double %conv, double 9.000000e+00) 当第二个参数的分数部分为零时,我想得到int类型的第二个参数 有人能建议一种转换方法吗? 提前感谢。这里有转换说明: 编辑: 如果希望转换llvm::ConstantTFP,可以调用getValueAPF方法,该方法将返回llvm::APFloat。请参阅如何将llvm::APFloat转换为整数。我想在编译时转换值,我不想在IR中添加额外的指令。我

鉴于以下情况

%1 = call double @llvm.pow.f64(double %conv, double 9.000000e+00)
当第二个参数的分数部分为零时,我想得到int类型的第二个参数

有人能建议一种转换方法吗?
提前感谢。

这里有转换说明:

编辑:


如果希望转换llvm::ConstantTFP,可以调用getValueAPF方法,该方法将返回llvm::APFloat。请参阅如何将llvm::APFloat转换为整数。

我想在编译时转换值,我不想在IR中添加额外的指令。我想,它无论如何都会得到优化,但是,当然,您可以手动执行。请参阅更新的答案。