Kompilator może też optymalizować powszechnie używane funkcje biblioteczne. Znając ich działanie w pewnych przypadkach zastępuje wywołania funkcji równoważnym ciągiem instrukcji. Np. w języku C funkcja memset zeruje wskazany obszar pamięci, dla niewielkich obszarów kompilator może wstawić kilka instrukcji procesora zerujących pamięć. Podobnie, zamiast wywołania funkcji formatującej printf("%s\n", napis), która w tym przypadku jedynie wypisze napis, można zastosować szybszą funkcję puts(napis).
Optymalizacje w GCC Kompilator GCC przeprowadza najpierw optymalizację niezależną od architektury, a następnie, jeśli użytkownik sobie tego zażyczy, optymalizację kodu pod konkretny procesor lub nawet model procesora.
Optymalizacja ogólna jest wykonywana na zasadach, które są wspólne dla wszystkich maszyn, architektur i procesorów. Użytkownik może samodzielnie wybrać optymalizacje, które mają zostać wykonane, albo wybrać jeden ze zdefiniowanych poziomów optymalizacji (przełączniki -O, -O2, -O3, -Os): -O – optymalizacja tylko w zakresie podstawowym, skraca to proces kompilacji programu; -O2 – wszystkie bezpieczne optymalizacje, tzn. nie zostanie włączona żadna optymalizacja, która mogłaby zmienić w istotny sposób działanie programu (np.