Como o clang é capaz de orientar a otimização de código C / C ++?

Disseram-me que o clang é um driver que funciona como o gcc para executar trabalhos de pré-processamento, compilação e vinculação. Durante a compilação e a vinculação, até onde eu sei, é a llvm que faz a otimização ("-O1", "-O2", "-O3", "-Os", "-flto")

Mas eu simplesmente não consigo entenderquão llvm está envolvido.

Parece que a compilação do código-fonte nem precisa de uma biblioteca estática, comolibLLVMCore.a, em vez dos pacotes debian clang, depende de outro pacote chamadolibllvm-3.4(a versão clang é 3.4), que contémlibLLVM-3.4.so(.1), o clang usa essa biblioteca compartilhada para otimização?

Eu verifiquei o código-fonte clang por um tempo e descobri queinclude/clang/Driver/Options.td contém as opções relacionadas, mas infelizmente não consegui encontrar os arquivos de origem queincluir esse arquivo, então ainda não estou ciente do mecanismo.

Espero que alguém possa me dar algumas dicas.

questionAnswers(2)

yourAnswerToTheQuestion