Fix some layering in AggressiveInstCombine (avoiding inclusion of Scalar.h)

llvm-svn: 330726
This commit is contained in:
David Blaikie 2018-04-24 15:40:07 +00:00
parent 2e6db8967f
commit ba3ab1b76a
6 changed files with 16 additions and 16 deletions

View File

@ -39,6 +39,7 @@
#include "llvm/IR/Function.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/Support/Valgrind.h"
#include "llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/IPO/AlwaysInliner.h"
#include "llvm/Transforms/IPO/FunctionAttrs.h"

View File

@ -10,8 +10,8 @@
///
/// This file provides the primary interface to the aggressive instcombine pass.
/// This pass is suitable for use in the new pass manager. For a pass that works
/// with the legacy pass manager, please look for
/// \c createAggressiveInstCombinerPass() in Scalar.h.
/// with the legacy pass manager, please use
/// \c createAggressiveInstCombinerPass().
///
//===----------------------------------------------------------------------===//
@ -29,6 +29,13 @@ class AggressiveInstCombinePass
public:
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
};
//===----------------------------------------------------------------------===//
//
// AggressiveInstCombiner - Combine expression patterns to form expressions with
// fewer, simple instructions. This pass does not modify the CFG.
//
FunctionPass *createAggressiveInstCombinerPass();
}
#endif

View File

@ -80,7 +80,6 @@ FunctionPass *createDeadStoreEliminationPass();
// values.
FunctionPass *createCallSiteSplittingPass();
//===----------------------------------------------------------------------===//
//
// AggressiveDCE - This pass uses the SSA based Aggressive DCE algorithm. This
@ -89,7 +88,6 @@ FunctionPass *createCallSiteSplittingPass();
//
FunctionPass *createAggressiveDCEPass();
//===----------------------------------------------------------------------===//
//
// GuardWidening - An optimization over the @llvm.experimental.guard intrinsic
@ -126,13 +124,6 @@ Pass *createInductiveRangeCheckEliminationPass();
//
Pass *createIndVarSimplifyPass();
//===----------------------------------------------------------------------===//
//
// AggressiveInstCombiner - Combine expression patterns to form expressions with
// fewer, simple instructions. This pass does not modify the CFG.
//
FunctionPass *createAggressiveInstCombinerPass();
//===----------------------------------------------------------------------===//
//
// LICM - This pass is a loop invariant code motion and memory promotion pass.

View File

@ -21,8 +21,8 @@
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Scalar.h"
using namespace llvm;
#define DEBUG_TYPE "aggressive-instcombine"
@ -123,3 +123,7 @@ void LLVMInitializeAggressiveInstCombiner(LLVMPassRegistryRef R) {
FunctionPass *llvm::createAggressiveInstCombinerPass() {
return new AggressiveInstCombinerLegacyPass();
}
void LLVMAddAggressiveInstCombinerPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createAggressiveInstCombinerPass());
}

View File

@ -29,6 +29,7 @@
#include "llvm/IR/Verifier.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/IPO/ForceFunctionAttrs.h"
#include "llvm/Transforms/IPO/FunctionAttrs.h"

View File

@ -114,10 +114,6 @@ void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createAggressiveDCEPass());
}
void LLVMAddAggressiveInstCombinerPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createAggressiveInstCombinerPass());
}
void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createBitTrackingDCEPass());
}