|
|
|||
File indexing completed on 2026-05-10 08:44:45
0001 //===- llvm/Transforms/IPO.h - Interprocedural Transformations --*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 // 0009 // This header file defines prototypes for accessor functions that expose passes 0010 // in the IPO transformations library. 0011 // 0012 //===----------------------------------------------------------------------===// 0013 0014 #ifndef LLVM_TRANSFORMS_IPO_H 0015 #define LLVM_TRANSFORMS_IPO_H 0016 0017 namespace llvm { 0018 0019 class ModulePass; 0020 class Pass; 0021 class raw_ostream; 0022 0023 //===----------------------------------------------------------------------===// 0024 /// createDeadArgEliminationPass - This pass removes arguments from functions 0025 /// which are not used by the body of the function. 0026 /// 0027 ModulePass *createDeadArgEliminationPass(); 0028 0029 /// DeadArgHacking pass - Same as DAE, but delete arguments of external 0030 /// functions as well. This is definitely not safe, and should only be used by 0031 /// bugpoint. 0032 ModulePass *createDeadArgHackingPass(); 0033 0034 //===----------------------------------------------------------------------===// 0035 // 0036 /// createLoopExtractorPass - This pass extracts all natural loops from the 0037 /// program into a function if it can. 0038 /// 0039 Pass *createLoopExtractorPass(); 0040 0041 /// createSingleLoopExtractorPass - This pass extracts one natural loop from the 0042 /// program into a function if it can. This is used by bugpoint. 0043 /// 0044 Pass *createSingleLoopExtractorPass(); 0045 0046 //===----------------------------------------------------------------------===// 0047 /// createBarrierNoopPass - This pass is purely a module pass barrier in a pass 0048 /// manager. 0049 ModulePass *createBarrierNoopPass(); 0050 0051 /// What to do with the summary when running passes that operate on it. 0052 enum class PassSummaryAction { 0053 None, ///< Do nothing. 0054 Import, ///< Import information from summary. 0055 Export, ///< Export information to summary. 0056 }; 0057 0058 } // End llvm namespace 0059 0060 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|