Questions marquées «llvm-codegen»


1
Pourquoi le compilateur Rust n'optimise-t-il pas le code en supposant que deux références mutables ne peuvent pas être alias?
Pour autant que je sache, l'alias de référence / pointeur peut entraver la capacité du compilateur à générer du code optimisé, car ils doivent garantir que le binaire généré se comporte correctement dans le cas où les deux références / pointeurs sont effectivement des alias. Par exemple, dans le code …

2
Pourquoi y a-t-il un impact important sur les performances lors du bouclage sur un tableau avec 240 éléments ou plus?
Lors de l'exécution d'une boucle de somme sur un tableau dans Rust, j'ai remarqué une énorme baisse de performances lorsque CAPACITY> = 240.CAPACITY = 239 est environ 80 fois plus rapide. Existe-t-il une optimisation de compilation spéciale que Rust fait pour les tableaux "courts"? Compilé avec rustc -C opt-level=3. use …


3
Pourquoi LLVM alloue une variable redondante?
Voici un simple fichier C avec une définition d'énumération et une mainfonction: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Il transpile vers le LLVM IR suivant: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 …
9 c  llvm  llvm-codegen 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.