Viewing file: IPO.h (2.02 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
//===- llvm/Transforms/IPO.h - Interprocedural Transformations --*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This header file defines prototypes for accessor functions that expose passes // in the IPO transformations library. // //===----------------------------------------------------------------------===//
#ifndef LLVM_TRANSFORMS_IPO_H #define LLVM_TRANSFORMS_IPO_H
namespace llvm {
class ModulePass; class Pass; class raw_ostream;
//===----------------------------------------------------------------------===// /// createDeadArgEliminationPass - This pass removes arguments from functions /// which are not used by the body of the function. /// ModulePass *createDeadArgEliminationPass();
/// DeadArgHacking pass - Same as DAE, but delete arguments of external /// functions as well. This is definitely not safe, and should only be used by /// bugpoint. ModulePass *createDeadArgHackingPass();
//===----------------------------------------------------------------------===// // /// createLoopExtractorPass - This pass extracts all natural loops from the /// program into a function if it can. /// Pass *createLoopExtractorPass();
/// createSingleLoopExtractorPass - This pass extracts one natural loop from the /// program into a function if it can. This is used by bugpoint. /// Pass *createSingleLoopExtractorPass();
//===----------------------------------------------------------------------===// /// createBarrierNoopPass - This pass is purely a module pass barrier in a pass /// manager. ModulePass *createBarrierNoopPass();
/// What to do with the summary when running passes that operate on it. enum class PassSummaryAction { None, ///< Do nothing. Import, ///< Import information from summary. Export, ///< Export information to summary. };
} // End llvm namespace
#endif
|