LICM pass (#87)
* LICM pass * Uses loop analysis to detect loop tree * For each loop (starting with the inner ones), create a pre-header and move there loop-invariant instructions * An instruction is loop invariant if it does not use as argument a value defined earlier in the loop * File tests to check LICM's correctness * Optimized pre-header creation If the loop already has a natural pre-header, we use it instead of creating a new one. The natural pre-header of a loop is the only predecessor of the header it doesn't dominate.
This commit is contained in:
committed by
Jakob Stoklund Olesen
parent
402cb8e1f6
commit
e47f4a49fb
@@ -32,6 +32,7 @@ mod constant_hash;
|
||||
mod context;
|
||||
mod iterators;
|
||||
mod legalizer;
|
||||
mod licm;
|
||||
mod packed_option;
|
||||
mod partition_slice;
|
||||
mod predicates;
|
||||
|
||||
Reference in New Issue
Block a user