Все верно написано. Поэтому я и употреблял «LLVM IR более не менее таргет-независимый» Еще стоит подчеркнуть, что неоптимизированный LLVM IR (только-только сгененрированный после фронта) вначале выглядит одинаково за исключением упомянутыл в скриншоте исключений, а вот после анализа и череды оптимизаций / трансформаций он уже будем иметь другую структуру в зависимости от степени и опций оптимизации и собственно самого таргета
Я исправил c++ модуль, и он ура! перестал выдавать ошибку memory out of bounds. https://onlinegdb.com/yutiVBNOf НО Оно стало выдавать совершенно непонятный результат. В чём может быть проблема?
общепринятый подход: писать вместе с юнит-тестами и добавлять санитайзеры, тогда любое UB на плюсах, которое воспроизводится на одной платформе, и не воспроизводится на другой будет вылазить на тестах