循环不变代码外提（，缩写）在计算机编程中是指将循环不变的语句或表达式移到循环体之外，而不改变程序的语义。循环不变代码外提在英文中又被称为或，是编译器中常见的优化方法。
示例.假设有如下代码：for (int i = 0; i < n; i++) {其中codice_1与codice_2这两步运算是循环不变的，会在优化中被移出循环体之外。经LICM优化后的代码为：x = y + z;t1 = x * x;for (int i = 0; i < n; i++) {