Skip to search formSkip to main contentSkip to account menu

Loop-invariant code motion

Known as: Loop invariant hoisting, Loop hoisting, LICM 
In computer programming, loop-invariant code consists of statements or expressions (in an imperative programming language) which can be moved outside… 
Wikipedia (opens in a new tab)

Papers overview

Semantic Scholar uses AI to extract papers important to this topic.
Highly Cited
2012
Highly Cited
2012
JavaScript performance is often bound by its dynamically typed nature. Compilers do not have access to static type information… 
2004
2004
Loop invariant code motion (LICM) is a traditional optimization. In modern compiler,it is normally per-formed by the phases of… 
Highly Cited
2002
Highly Cited
2002
We observe a non-negligible fraction--3 to 16% in our benchmarks--of dynamically dead instructions, dynamic instruction instances… 
Highly Cited
1999
Highly Cited
1999
The SSAPRE algorithm for performing partial redundancy elimination based entirely on SSA form is presented. The algorithm is… 
1999
1999
We describe a novel approach to performing data dependence analysis for Java in the presence of Java's "non-traditional" language… 
Highly Cited
1995
Highly Cited
1995
We present compiler analyses and optimizations for explicitly parallel programs that communicate through a shared address space… 
1994
1994
Given the action-semantic description of a source language, Actress generates a compiler. The generated compiler translates its… 
Highly Cited
1994
Highly Cited
1994
The value dependence graph (VDG) is a sparse dataflow-like representation that simplifies program analysis and transformation. It… 
1993
1993
The Cydra 5 is a VLIW minisupercomputer with hardware designed to accelerate a broad class of inner loops, presenting unique… 
1988
1988
Programs typically spend much of their execution time in loops. This makes the generation of efficient code for loops essential…