Может ли LLVM использоваться для создания оптимизированного C-кода - PullRequest
0 голосов
/ 10 ноября 2019

Можно ли использовать LLVM для чтения кода на C и сделать это быстрее? Я видел много дискуссий об использовании LLVM для преобразования C ++ в (нечитаемый) код C, но мне интересно, может ли LLVM читать в коде C и создавать файл (код, а не исполняемый файл) с той же функциональностью, что и быстрее.

1 Ответ

2 голосов
/ 11 ноября 2019

Нет.

Существует бэкэнд C для LLVM, так что вы можете скомпилировать C с помощью LLVM IR в C и применить проходы оптимизации в пути, но то, о чем вы спрашиваете, не является целью разработки этого. ни бэкэнд, ни LLVM в целом. Если это работает в любом конкретном случае, то это просто счастливое совпадение.

Одна из целей LLVM - создание быстрого кода с использованием бэкэндов, которые напоминают различные современные аппаратные средства. С, однако, даже не пытается походить на современный процессор. Вполне разумно, будучи на пятьдесят лет старше, чем последние чудеса кремния.

...