迴圈判斷外提 迴圈判斷外提英語loop unswitching是一種編譯器最佳化的方法迴圈判斷外提將迴圈中的條件式移到迴圈之外在若與否則式裡各放置一個原來迴圈的內容這可以增進迴圈平行處理的可能性 以下是一個簡單的例子若程式碼想要將陣列 xy 相加並根據變數 w 做別的事就有這種 C 的程式碼 int i w x y for i   i   i  xi  xi  yi if w yi    因為有迴圈裡的條件式要安全的平行處理這個迴圈變得很困難若進行判斷外提這個迴圈會變成 int i w x y if w  for i   i   i  xi  xi  yi yi     else  for i   i   i  xi  xi  yi   雖然迴圈外提會讓程式碼的量加倍現在各個迴圈可以分別進行最佳化 迴圈外提在版本  引入 GCC