مولد كود 6502 يتفوق على GCC و LLVM
2025-02-16
قام مطور ببناء مُولد كود لمعمارية 6502 والذي يتفوق بشكل مدهش على GCC و LLVM وغيرها من المُترجمات. لا تأتي ميزة السرعة من تحسينات عالية المستوى فحسب، بل من تقنيات مبتكرة لتوليد الكود. يستخدم المُترجم تعليمات "غير قانونية"، واختيار تعليمات مكلف من الناحية الحسابية، وتحسينات تُبدل المساحة بالوقت. يجمع الخوارزمية الأساسية بين اختيار التعليمات وتخصيص السجلات، باستخدام أسلوب تمرير الاستمرار بذكاء. يعمل مع تمثيل وسيط DAG و SSA، مُولداً مجموعات متعددة من كود التجميع، ويقوم بتقليمها باستخدام البرمجة الديناميكية وفرع والحد، وأخيراً يحل مشكلة PBQP للاختيار الأمثل. على الرغم من استخدام بعض "الحيل"، إلا أن المُترجم يُظهر نتائج قياسية رائعة، مُقدماً وجهات نظر جديدة حول توليد الكود.
التطوير