Всем привет!
Руки дошли до анализа кода на clang/llvm, и встал такой вопрос - а как в них посмотреть список таргет-архитектур? llc-3.8 --version
выдает необходимый список, но дело в том, что clang -emit-llvm
выдает архитектуро-зависимый код и даже самый простой хеллоуворлд не получается собрать из *.ll в армы, в x86-linux и x86_64-windows одновременно.
Ну и ещё - если пользуетесь этими инструментами, то какие опции чаще всего оказываются нужны? Ну то есть хочется увидеть, на что способна связка clang/llvm помимо своей основной задачи компиляции кода. Вместо сухих манов, хочется какого-нибудь «вау-интро», чтоб посмотреть, что крутого с этими инструментами можно сделать быстро. Писали, что можно генерить кол-стек или диаграмму классов как в графическом виде, так и в текстовом. Где-то еще видел, что можно получить список тех или иных сущностей в проекте - список деклараций/имплементаций функций/классов/методов/структур, и прочего. Где-то натыкался на кодогенерацию. Проблема в том, что все эти мануалы в основном 2012-2016 годов и за это время оба проекта успели измениться значительно. Пример: отсутствие опций --print-supported-archs, --print-available-systems
в clang-3.8.