1 //===- VPlanHCFGTransforms.h - Utility VPlan to VPlan transforms ----------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 /// 10 /// \file 11 /// This file provides utility VPlan to VPlan transformations. 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_TRANSFORMS_VECTORIZE_VPLANHCFGTRANSFORMS_H 15 #define LLVM_TRANSFORMS_VECTORIZE_VPLANHCFGTRANSFORMS_H 16 17 #include "VPlan.h" 18 #include "llvm/IR/Instruction.h" 19 #include "llvm/Transforms/Vectorize/LoopVectorizationLegality.h" 20 21 namespace llvm { 22 23 class VPlanHCFGTransforms { 24 25 public: 26 /// Replaces the VPInstructions in \p Plan with corresponding 27 /// widen recipes. 28 static void VPInstructionsToVPRecipes( 29 VPlanPtr &Plan, 30 LoopVectorizationLegality::InductionList *Inductions, 31 SmallPtrSetImpl<Instruction *> &DeadInstructions); 32 }; 33 34 } // namespace llvm 35 36 #endif // LLVM_TRANSFORMS_VECTORIZE_VPLANHCFGTRANSFORMS_H 37