Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  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.