2012-02-15 102 views
0

鑑於以下IR爲Int,不斷轉換中雙擊LLVM IR

%1 = call double @llvm.pow.f64(double %conv, double 9.000000e+00) 

當第二個參數的小數部分是零,我想通過int類型得到它(第二個參數)。

有人可以請建議一種方法,這種轉換?
預先感謝您。

回答

2

有此轉換指令:

fptoui

fptosi

編輯:

如果你想轉換llvm::ConstantFP,你可以調用getValueAPF()方法,它會回報你llvm::APFloat。有關如何將llvm::APFloat轉換爲整數,請參見documentation

+0

我想在編譯時轉換值,我不想向IR添加額外的指令。 – shashikiran 2012-02-18 04:18:27

+0

我認爲,它會被優化,但是,當然,你可以手動完成。查看更新的答案。 – arrowd 2012-02-18 16:57:58