Skip to content

Commit

Permalink
Add PM extension point EP_VectorizerStart
Browse files Browse the repository at this point in the history
This extension point allows passes to be executed right before the vectorizer
and other highly target specific optimizations are run.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242389 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
tobiasgrosser committed Jul 16, 2015
1 parent e03f4bd commit 83c2239
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
5 changes: 5 additions & 0 deletions include/llvm/Transforms/IPO/PassManagerBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ class PassManagerBuilder {
/// run after everything else.
EP_OptimizerLast,

/// EP_VectorizerStart - This extension point allows adding optimization
/// passes before the vectorizer and other highly target specific
/// optimization passes are executed.
EP_VectorizerStart,

/// EP_EnabledOnOptLevel0 - This extension point allows adding passes that
/// should not be disabled by O0 optimization level. The passes will be
/// inserted after the inlining pass.
Expand Down
2 changes: 2 additions & 0 deletions lib/Transforms/IPO/PassManagerBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,8 @@ void PassManagerBuilder::populateModulePassManager(
if (RunFloat2Int)
MPM.add(createFloat2IntPass());

addExtensionsToPM(EP_VectorizerStart, MPM);

// Re-rotate loops in all our loop nests. These may have fallout out of
// rotated form due to GVN or other transformations, and the vectorizer relies
// on the rotated form. Disable header duplication at -Oz.
Expand Down

0 comments on commit 83c2239

Please sign in to comment.