Le Front-End, c'est ce qui convertie le Code C en SSA-Tree (LLVM-IR soue clang, GIMPLE soue GCC), c'est donc tout le parser.
Le Middle-end, qui utilise une SSA Tree form dans le cas de LLVM/GCC, c'est la partie qui va être optimisé.
Le back end prend la form SSA Tree et la convertie en binaire (bon sauf gcc, qui convertie les GIMPLE en RTL qui est une autre représentation intermédiaire).
Je suppose que le code entre 2 parser C qui target LLVM-IR peuvent avoir des architecture différents, mais en soie ça reste le même job.
Âpres ICC étant close source, c'est pas impossible qu'il ai modifier le middle-end et le back-end aussi.
[^] # Re: Et pourtant les spécifications ne sont pas libre
Posté par uso (site web personnel) . En réponse au journal C, un âge remarquable. Évalué à 2.
Dur a dire,
LLVM, comme GCC ont une Architecture très similaire qui ressemble grosso mode a:
[Front-end] -> [SSA Tree Form] -> [Back End]
Le Front-End, c'est ce qui convertie le Code C en SSA-Tree (LLVM-IR soue clang, GIMPLE soue GCC), c'est donc tout le parser.
Le Middle-end, qui utilise une SSA Tree form dans le cas de LLVM/GCC, c'est la partie qui va être optimisé.
Le back end prend la form SSA Tree et la convertie en binaire (bon sauf gcc, qui convertie les GIMPLE en RTL qui est une autre représentation intermédiaire).
Je suppose que le code entre 2 parser C qui target LLVM-IR peuvent avoir des architecture différents, mais en soie ça reste le même job.
Âpres ICC étant close source, c'est pas impossible qu'il ai modifier le middle-end et le back-end aussi.