CrossDSOCFI.h 931 B

1234567891011121314151617181920212223242526
  1. //===-- CrossDSOCFI.cpp - Externalize this module's CFI checks --*- 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. // This pass exports all llvm.bitset's found in the module in the form of a
  10. // __cfi_check function, which can be used to verify cross-DSO call targets.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef LLVM_TRANSFORMS_IPO_CROSSDSOCFI_H
  14. #define LLVM_TRANSFORMS_IPO_CROSSDSOCFI_H
  15. #include "llvm/IR/PassManager.h"
  16. namespace llvm {
  17. class CrossDSOCFIPass : public PassInfoMixin<CrossDSOCFIPass> {
  18. public:
  19. PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
  20. };
  21. }
  22. #endif // LLVM_TRANSFORMS_IPO_CROSSDSOCFI_H