1 //===- WarnMissedTransforms.h -----------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // Emit warnings if forced code transformations have not been performed. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef LLVM_TRANSFORMS_SCALAR_WARNMISSEDTRANSFORMS_H 14 #define LLVM_TRANSFORMS_SCALAR_WARNMISSEDTRANSFORMS_H 15 16 #include "llvm/IR/PassManager.h" 17 18 namespace llvm { 19 class Function; 20 class Loop; 21 class LPMUpdater; 22 23 // New pass manager boilerplate. 24 class WarnMissedTransformationsPass 25 : public PassInfoMixin<WarnMissedTransformationsPass> { 26 public: WarnMissedTransformationsPass()27 explicit WarnMissedTransformationsPass() {} 28 29 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); 30 }; 31 32 // Legacy pass manager boilerplate. 33 Pass *createWarnMissedTransformationsPass(); 34 void initializeWarnMissedTransformationsLegacyPass(PassRegistry &); 35 } // end namespace llvm 36 37 #endif // LLVM_TRANSFORMS_SCALAR_WARNMISSEDTRANSFORMS_H 38