1 //===- DeadCodeElimination.h ----------------------------------------------===// 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 // Eliminate dead iterations. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef POLLY_DEADCODEELIMINATION_H 14 #define POLLY_DEADCODEELIMINATION_H 15 16 #include "polly/ScopPass.h" 17 18 namespace llvm { 19 class PassRegistry; 20 class Pass; 21 class raw_ostream; 22 } // namespace llvm 23 24 namespace polly { 25 llvm::Pass *createDeadCodeElimWrapperPass(); 26 27 struct DeadCodeElimPass final : llvm::PassInfoMixin<DeadCodeElimPass> { DeadCodeElimPassfinal28 DeadCodeElimPass() {} 29 30 llvm::PreservedAnalyses run(Scop &S, ScopAnalysisManager &SAM, 31 ScopStandardAnalysisResults &SAR, SPMUpdater &U); 32 }; 33 34 } // namespace polly 35 36 namespace llvm { 37 void initializeDeadCodeElimWrapperPassPass(llvm::PassRegistry &); 38 } // namespace llvm 39 40 #endif /* POLLY_DEADCODEELIMINATION_H */ 41