
MicroEJ
Compil' - Directives pseudo assembleur
- Stage
- 4-6 mois
- Présentiel
- 1200€ / mois
- Échéance : 10 nov. 2026
- llvm
- pseudo_code
- risc-v
- xtensa lx7
- compiler directives
- branch weight metadata
- register allocation
- control flow flattening
- calling convention
- gcc
- Insurance (IARD)
- clang
Description du poste
Objectif
- Contrôler la génération de portions de code C critiques pour la performance en y injectant des directives propres au jeu d’instruction cible.
Compétences développées
- Directives avancées des compilateurs, génération de code
- Manipulation d’émulateurs, calculs de cycles
Déroulement du stage
- Étudier l’infrastructure de compilation LLVM (LLVM IR, Branch Weight Metadata)
- Étudier/tester l’annotation de contraintes dans un code C :
- Register allocation (fixer l’affectation de certains registres)
- Control flow flattening (définir des chemins préférentiels likely/unlikely)
- Calling convention (effacer des restaurations/sauvegardes, total ou partiel)
- Implémenter un générateur de code assembleur texte pour les frontends C embarqués : GCC, IAR, Clang
- Comparer les résultats sur des bases de code existantes (vitesse vs taille du code)
- Cibles de test : RISC‑V et XTensa LX7
Infos générales
- Lieu : 11 rue du Chemin Rouge, Bât. D, 44300 Nantes (France)
- Rémunération indiquée dans le document: 1200€ / mois (+ packs arrivée/fin)
- Période PFE typique: 4–6 mois
Candidature — stage #2 : envoyer un seul email à internship@microej.com avec le CV en pièce jointe. Indiquer le sujet et le numéro du stage dans l’objet. Rédiger la lettre de motivation dans le corps du mail, avec les disponibilités et la date souhaitée de début de stage. Expliquer l’intérêt pour ce sujet et, éventuellement, mentionner 1 ou 2 autres sujets. Stage à Nantes, 11 rue du Chemin rouge, bâtiment D, 44300 Nantes ; durée minimale de 4 mois. Rémunération : 1 200 € par mois, avec 750 € à l’arrivée et 750 € en fin de stage en cas d’embauche. Source : https://www.microej.com/wp-content/uploads/2026/10/Book_de_stage.pdf#page=21