Otevření smyčky ( anglicky loop unswitching ) spočívá ve vyjmutí podmínky ze smyčky a duplikování těla smyčky s umístěním odpovídajících voleb do odpovídajících větví podmínky. To zlepšuje výkon díky skutečnosti, že moderní procesory mohou provádět vektorové operace (tuto optimalizační transformaci lze provádět ve spojení s odvíjením smyčky a výsledkem odvíjení je zase několik operací v iteraci prováděných na po sobě jdoucích paměťových oblastech, které lze nahradit jeden vektor, pokud to architektura umožňuje; například se to provádí v ICC ). Díky tomu je také efektivnější provozovat smyčku paralelně.
Podmínka uvnitř těla smyčky brání její paralelizaci. Po otevření má následující podobu:
pokud ( w ) { pro ( i = 0 ; i < 1000 ; i ++ ) { x [ i ] += y [ i ]; y [ i ] = 0 ; } } jiný { pro ( i = 0 ; i < 1000 ; i ++ ) { x [ i ] += y [ i ]; } }Každý z výsledných cyklů lze zase optimalizovat samostatně.