Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.3 KiB

  1. //===-- llvm/Analysis/Lint.h - LLVM IR Lint ---------------------*- C++ -*-===//
  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. // This file defines lint interfaces that can be used for some sanity checking
  11. // of input to the system, and for checking that transformations
  12. // haven't done something bad. In contrast to the Verifier, the Lint checker
  13. // checks for undefined behavior or constructions with likely unintended
  14. // behavior.
  15. //
  16. // To see what specifically is checked, look at Lint.cpp
  17. //
  18. //===----------------------------------------------------------------------===//
  19. #ifndef LLVM_ANALYSIS_LINT_H
  20. #define LLVM_ANALYSIS_LINT_H
  21. namespace llvm {
  22. class FunctionPass;
  23. class Module;
  24. class Function;
  25. /// @brief Create a lint pass.
  26. ///
  27. /// Check a module or function.
  28. FunctionPass *createLintPass();
  29. /// @brief Check a module.
  30. ///
  31. /// This should only be used for debugging, because it plays games with
  32. /// PassManagers and stuff.
  33. void lintModule(
  34. const Module &M ///< The module to be checked
  35. );
  36. // lintFunction - Check a function.
  37. void lintFunction(
  38. const Function &F ///< The function to be checked
  39. );
  40. } // End llvm namespace
  41. #endif