循环判断外提(英语:loop unswitching)是一种编译器最佳化(英语:compiller optimization)的方法。循环判断外提将循环中的条件式移到循环之外,在“若”与“否则”式里各放置一个原来循环的内容。这可以增进循环平行处理的可能性。
以下是一个简单的例子。若程式码想要将阵列 、 相加,并根据变数 做别的事,就有这种 C 的程式码:
int i, w, x, y; for (i = 0; i < 1000; i++) { x = x + y; if (w) y = 0; }