Я получаю "недействительные индексы getelementptr" на последней строке этого LLVM ИК-кода:недействительные индексы getelementptr
%alc = alloca %mytype*
store %mytype* %obj, %mytype** %alc
%ldc = load %mytype** %alc
%gcs = getelementptr inbounds %mytype* %ldc, i32 0, i32 1
где MyType определяется следующим образом:
%mytype = type {i32, %tp1**, %tp1}
У меня есть еще один аналогичный тип, который индексирует его, не вызывает вышеуказанную ошибку и определяется как:
%mytype2 = type {i32, i16*, %tp1}
Любая помощь для решить эту проблему будет оценено.
Можете ли вы показать полный файл сбой, включая определение '% tp1', пожалуйста? Сам GEP отлично подходит для меня. – Oak
файл с ошибкой настолько велик, что не может быть присоединен, но% tp1 определяется следующим образом:% tp1 = type {i32 (...) **,% tp2 * (...) **, i1 (...) **, void (...) **,% tp1 * (...) **} – user1723583