Abstract
Modern compilers can work on many platforms and implement a lot of optimizations, which are not always tuned well for every target platform. In the paper we present the Tool for Automatic Compiler Tuning (TACT), which helps to identify such underperforming compiler optimizations. Using GCC for ARM, we show how this tool can be used to improve performance of several popular applications, and how the results can be further analyzed to find places for improvement in the GCC compiler itself
چکیده
کامپایلر های مدرن میتوانند بر روی پلت فرم های زیادی کار کنند و بهینه سازی های زیادی را پیاده سازی کنند که البته این بهینه سازی ها به خوبی بر روی هر پلت فرم هدف بهینه سازی نمیشود. در این مقاله قصد داریم ابزاری را برای میزان سازی خودکار کامپایلر (TACT) ارائه دهیم که میتواند بهینه سازی هایی که عملکرد خوبی در کامپایلر ندارند را تشخیص دهد. با استفاده از GCC برای ARM، نشان خواهیم داد که چطور میتوان از این ابزار برای بهبود کارائی چندین اپلیکیشن رایج استفاده کرد و اینکه این نتایج را چطور میتوان برای یافتن مکانهایی برای بهبودی در خود کامپایلر GCC مورد تحلیل قرار داد.
1-مقدمه
گرایش اولیه [1] به منظور توسعهی ابزار TACT با هدف بهبود کامپایلر GCC برای معماری ARMv7 صورت گرفت. با توجه به پیچیدگی GCC، که تاریخچهی توسعهی طولانی ای دارد و تعداد پلت فرم های هدف مورد پشتیبانی قرار گرفته و بهینه سازی ها، معمولا میتوان کارائی آنرا با میزان سازی پارامتر های بهینه سازی کامپایلر برای پلت فرم خاصی از هدف بهبود داد. اگرچه بدیهی است که چه بهینه سازی هایی که توسط کامپایلر فراهم میشود ( بسیاری از آنها مستقل از پلت فرم میباشند) از چنین میزان سازی ای بهره میبرند...