変数インデックスで配列の値を取得したい。インデックスはプログラムによって計算され、解析時にはわかりません。したがって、値に格納され、次のように Int に変換されます。
Value *IndexV = Index->Codegen();
Value *IntV = Builder.CreateFPToUI( IndexV, Type::getInt32Ty( getGlobalContext() ) );
インデックスがわかっている場合は、次を使用できます。
Value *VV = Builder.CreateExtractValue( Builder.CreateLoad( V ), 0 );
これにより、配列の最初の要素が得られます。そして正しく動作します。しかし、どうすればIntV
インデックスとして使用できますか? CreateExtractValue
ArrayRefのみを受け取り、ArrayRefにキャストする方法はありませんIntV
か、それとも間違っていますか? どうやってそのようなことをするでしょうか?
ありがとう!