diff options
author | Alexander Johnston <alexander@codeplay.com> | 2018-01-29 10:39:55 +0000 |
---|---|---|
committer | Steven Perron <stevenperron@google.com> | 2018-02-08 22:55:47 -0500 |
commit | 84ccd0b9ae1c4008bb3a36c527827fcabb354468 (patch) | |
tree | 555120fcc073096419eab1224688e62bb240cbbd /include | |
parent | ca4457b4b6e20f8f37731a3cf086e963fa52ff31 (diff) | |
download | spirv-tools-84ccd0b9ae1c4008bb3a36c527827fcabb354468.tar.gz |
Loop invariant code motion initial implementation
Diffstat (limited to 'include')
-rw-r--r-- | include/spirv-tools/optimizer.hpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/spirv-tools/optimizer.hpp b/include/spirv-tools/optimizer.hpp index becd024e..e738b506 100644 --- a/include/spirv-tools/optimizer.hpp +++ b/include/spirv-tools/optimizer.hpp @@ -463,6 +463,11 @@ Optimizer::PassToken CreateMergeReturnPass(); // same value, and remove the redundant ones. Optimizer::PassToken CreateLocalRedundancyEliminationPass(); +// Create LICM pass. +// This pass will look for invariant instructions inside loops and hoist them to +// the loops preheader. +Optimizer::PassToken CreateLoopInvariantCodeMotionPass(); + // Create global value numbering pass. // This pass will look for instructions where the same value is computed on all // paths leading to the instruction. Those instructions are deleted. |