📑 Table of Contents

循环不变代码外提(英語:loop-invariant code motion,缩写LICM)在计算机编程中是指将循环不变的语句或表达式移到循环体之外,而不改变程序的语义。循环不变代码外提在英文中又被称为hoistingscalar promotion,是编译器中常见的优化方法。

示例

编辑

假设有如下代码:

for (int i = 0; i < n; i++) {
    x = y + z;
    a[i] = 6 * i + x * x;
}

其中x = y + zx * x这两步运算是循环不变的,会在优化中被移出循环体之外。经LICM优化后的代码为:

x = y + z;
t1 = x * x;
for (int i = 0; i < n; i++) {
    a[i] = 6 * i + t1;
}

参见

编辑

参考文献

编辑
  • Aho, Alfred V.; Sethi, Ravi; & Ullman, Jeffrey D. (1986). Compilers: Principles, Techniques, and Tools. Addison Wesley. ISBN 0-201-10088-6.
  • Compiler Optimizations — Hoisting

📚 Artikel Terkait di Wikipedia

循环不变量

由于循环和递归的相通,证明带有不变式的循环的部分正确性和证明通过归纳的递归程序的正确性极其相似。 循环不变代码外提(Loop-invariant code motion)是將循环內部不受循環影響的語句或表達式移到循環體之外,和此條目提到的循环不变式無關係。 在弗洛伊德-霍尔逻辑,While循环的部分正确性(英语:Partial

SpiderMonkey

function)、線性掃描的暫存器配置(linear scan register allocator)、死碼刪除(Dead code elimination)以及盡可能將程序移出迴圈外(Loop-Invariant Code Motion)。 该編譯器可以在ARM、X86及X86-64上快速的將JavaScript函式轉換成原生碼。

VOMIC

VOMIC(日語:ヴォミック),即分鏡廣播劇,是集英社以漫畫分鏡為基礎,配合聲優生動的聲音演出與背景音樂改製而成的動態漫畫(英语:Motion Comic)品牌。 VOMIC此字為和製英語,是英語「VOICE」(語音)與「COMIC」(漫畫)的合字。 分鏡廣播劇為集英社所開創,用以推廣漫畫作品的嶄新

QNX

2007年9月,QNX軟件系統公司發布其部分源代碼的可用性。 2010年4月,Research In Motion公司發布將收購QNX軟件系統公司。 2010年9月,Research In Motion公司發布BlackBerry PlayBook和作業系統,基於QNX。

美國電影協會

電影協會(英語:Motion Picture Association,縮寫:MPA)中文通稱美國電影協會,是由美國六大電影公司所成立的商業交易協會。最早成立於1922年,原名“美國電影製片人與發行人協會”(英語:Motion Picture Producers and Distributors of

QR碼

QR碼(英語:quick-response code,缩写:QR code;全稱為快速响应矩阵图码,简称图码)是一種二維條碼,於1994年由日本汽車零組件大廠電裝公司的原昌宏所發明,QR碼比普通条形码具有快速讀取和更大的儲存資料容量,也無需要像一維條碼般在掃描時需要直線對準掃描器,應用範圍包括產品跟踪、物品識別、文檔管理、庫存營銷等等

微软软件产品列表

GitHub Desktop npm GW-BASIC IronRuby IronPython JScript Microsoft Liquid Motion Microsoft BASIC, also licensed as: Altair BASIC AmigaBASIC Applesoft BASIC

电影制作守则

《电影制作守则》(英語:Motion Picture Production Code)是一套行业指导方针,旨在对内容进行自我審查。从1934年到1968年,美国主要电影公司发行的绝大多数电影都遵循了这套守则。也常被称为“海斯法典”(英語:Hays Code),以威尔·H·海斯(英语:Will H.