私はllvmフロントエンドを開発しています。私の問題は、「ストア」命令を使用して複合型のメンバーに値を格納すると、セグメンテーション違反が発生することです。たとえば、モジュールで %mytype = type {i32, ...} のような型を定義したと仮定し、次のコマンドを使用して、この型のオブジェクトの最初のフィールドに 3 を格納します。seg fault を引き起こすこのコードの何が問題なのですか?
define void f() {
...
%alloc = alloca %mytype*
%myinstance = load %mytype** %alloc
%firstfield = getelementptr %mytype* %myinstance, i32 0, i32 0
store i32 3, i32* %firstfield
...
)