w x := 7; y := 5; x := 12 pierwsze przypisanie może zostać pominięte, bo wartość x = 7 nie jest używana i jedynie zastępowana nową wartością 12. Eliminacja wspólnych podwyrażeń (ang. common subexpression elimination) – gdy jakieś podwyrażenie występuje kilkakrotnie w różnych wyrażeniach, jest liczone tylko raz. Łączenie instrukcji (ang. instruction combining) – gdy kolejne instrukcje wykonują podobne działania są zastępowane jedną instrukcją, np. x := x + 5; x := x – 3 jest zastępowane jedną instrukcją x := x + 2. Jednokrotne obliczenie wartości niezależnych od pętli – przesunięcie poza pętlę wszystkich wyrażeń, które nie zależą od przebiegu pętli. Wstawienie treści funkcji w miejscu wywołania (ang. inlining) – pozwala uniknąć kosztów wywołania podprogramu, ma zastosowanie głównie dla krótkich funkcji, zawierających zwykle kilka instrukcji; jeśli funkcja jest wywoływana w programie raz, względnie niewielką liczbę razy również może zostać wstawiona w miejscu wywołania. Powoduje zwiększenie wielkości kodu wynikowego. Łączenie pętli (ang. loop fusion) – wykonywanie w jednej pętli instrukcji z sąsiednich pętli, mających te same warunki iterowania. Spłaszczanie pętli (ang.