1

IR Builder を使用すると、たとえば と のような互換性のない型の 2 つの値を追加するなど、無効な IR を構築できi32ますfloat。命令のセマンティクスに従って、自動的に価値 (またはより良いユーザー) を昇格させる機能はありますか? 何かのようなもの:

Value * CreateSafeFAdd (Value *LHS, Value *RHS, const Twine &Name="", MDNode *FPMathTag=0)

たとえば、整数の場合など、入力値を昇格させます。floatまた、入力引数の型の 1 つが で、もう1 つが の場合、より高い浮動小数点精度に昇格しますdouble

そうでない場合は、有効な IR を構築するためにすべての型変換を行う必要があると思います。

4

1 に答える 1