Βελτιστοποίηση του τελικού κώδικα
Συχνά ο τελικός κώδικας που παράγεται μπορεί να περιέχει ακολουθίες
εντολών
οι οποίες να μπορούν να βελτιστοποιηθούν για το συγκεκριμένο επεξεργαστή.
Οι ακολουθίες αυτές μπορούν να βρεθούν εξετάζοντας ένα μικρό παράθυρο
του τελικού κώδικα, όπως αυτό θα φαίνονταν κοιτάζοντας τον
κώδικα από μια κλειδαρότρυπα.
Για το λόγο αυτό οι βελτιστοποιήσεις αυτές λέγονται και
βελτιστοποιήσεις κλειδαρότρυπας (peephole optimizations).
Για παράδειγμα η ακολουθία:
mov $12, %ax
mov %ax, %bx
mov $20, %ax
μετασχηματίζεται στην ακολουθία:
mov $12, %bx
mov $20, %ax
Επίσης η διάταξη των εντολών μπορεί να βελτιωθεί για να γίνεται
καλύτερη χρήση πολλαπλών υπολογιστικών στοιχείων που διαθέτει ο
επεξεργαστής.
Για παράδειγμα σε ορισμένους επεξεργαστές η εναλλαγή εντολών κινητής
υποδιαστολής με εντολές ακεραίων επιτρέπει στις δύο λειτουργικές
μονάδες να δουλεύουν παράλληλα.