1//===- PartialInlining.h - Inline parts of functions ------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This pass performs partial inlining, typically by inlining an if statement 11// that surrounds the body of the function. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef LLVM_TRANSFORMS_IPO_PARTIALINLINING_H 16#define LLVM_TRANSFORMS_IPO_PARTIALINLINING_H 17 18#include "llvm/IR/PassManager.h" 19 20namespace llvm { 21 22class Module; 23 24/// Pass to remove unused function declarations. 25class PartialInlinerPass : public PassInfoMixin<PartialInlinerPass> { 26public: 27 PreservedAnalyses run(Module &M, ModuleAnalysisManager &); 28}; 29 30} // end namespace llvm 31 32#endif // LLVM_TRANSFORMS_IPO_PARTIALINLINING_H 33