Можно ли перекомпилировать LLVM IR в другой триплет и схему данных? - PullRequest
1 голос
/ 17 июня 2020

Например, у меня есть два модуля LLVM IR

первый: arm64-apple-ios8.0.0 макет данных em: op: 32: 32-Fi8-f64: 32: 64-v64: 32 : 64-v128: 32: 128-a: 0: 32-n32-S32 '

второй: thumbv7-apple-ios10.0.0 макет данных em: o-i64: 64-i128: 128 -n32: 64-S128 '

Если я попытаюсь связать их, я получаю предупреждение о несоответствии тройки и разметки данных.

Можно ли перекомпилировать один из них с тройным и расположением данных другого модуля, чтобы они совпадали?

1 Ответ

0 голосов
/ 02 июля 2020

Нет, в цепочке инструментов LLVM нет инструмента для преобразования несовместимых троек.

Лучший сторонний вариант, о котором я знаю, - это поднять IR до исходного кода и перекомпилировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...