1 //===-------- LoopDataPrefetch.h - Loop Data Prefetching Pass ---*- C++ -*-===// 2 // 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is distributed under the University of Illinois Open Source 7 // License. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 /// \file 11 /// This file provides the interface for LLVM's Loop Data Prefetching Pass. 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_TRANSFORMS_SCALAR_LOOPDATAPREFETCH_H 15 #define LLVM_TRANSFORMS_SCALAR_LOOPDATAPREFETCH_H 16 17 #include "llvm/IR/Function.h" 18 #include "llvm/IR/PassManager.h" 19 20 namespace llvm { 21 22 /// An optimization pass inserting data prefetches in loops. 23 class LoopDataPrefetchPass : public PassInfoMixin<LoopDataPrefetchPass> { 24 public: 25 LoopDataPrefetchPass() = default; 26 27 /// \brief Run the pass over the function. 28 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); 29 }; 30 31 } // end namespace llvm 32 33 #endif // LLVM_TRANSFORMS_SCALAR_LOOPDATAPREFETCH_H 34