1 //===- ScalarizeMaskedMemIntrin.h - Scalarize unsupported masked mem ----===// 2 // intrinsics 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This pass replaces masked memory intrinsics - when unsupported by the target 11 // - with a chain of basic blocks, that deal with the elements one-by-one if the 12 // appropriate mask bit is set. 13 // 14 //===----------------------------------------------------------------------===// 15 // 16 #ifndef LLVM_TRANSFORMS_SCALAR_SCALARIZEMASKEDMEMINTRIN_H 17 #define LLVM_TRANSFORMS_SCALAR_SCALARIZEMASKEDMEMINTRIN_H 18 19 #include "llvm/IR/PassManager.h" 20 21 namespace llvm { 22 23 struct ScalarizeMaskedMemIntrinPass 24 : public PassInfoMixin<ScalarizeMaskedMemIntrinPass> { 25 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); 26 }; 27 } // end namespace llvm 28 29 #endif 30