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.

134 lines
4.9 KiB

  1. /*===-- Scalar.h - Scalar Transformation Library C Interface ----*- 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 header declares the C interface to libLLVMScalarOpts.a, which *|
  11. |* implements various scalar transformations of the LLVM IR. *|
  12. |* *|
  13. |* Many exotic languages can interoperate with C code but have a harder time *|
  14. |* with C++ due to name mangling. So in addition to C, this interface enables *|
  15. |* tools written in such languages. *|
  16. |* *|
  17. \*===----------------------------------------------------------------------===*/
  18. #ifndef LLVM_C_TRANSFORMS_SCALAR_H
  19. #define LLVM_C_TRANSFORMS_SCALAR_H
  20. #include "llvm-c/Core.h"
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. /**
  25. * @defgroup LLVMCTransformsScalar Scalar transformations
  26. * @ingroup LLVMCTransforms
  27. *
  28. * @{
  29. */
  30. /** See llvm::createAggressiveDCEPass function. */
  31. void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM);
  32. /** See llvm::createCFGSimplificationPass function. */
  33. void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM);
  34. /** See llvm::createDeadStoreEliminationPass function. */
  35. void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM);
  36. /** See llvm::createGVNPass function. */
  37. void LLVMAddGVNPass(LLVMPassManagerRef PM);
  38. /** See llvm::createIndVarSimplifyPass function. */
  39. void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM);
  40. /** See llvm::createInstructionCombiningPass function. */
  41. void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM);
  42. /** See llvm::createJumpThreadingPass function. */
  43. void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM);
  44. /** See llvm::createLICMPass function. */
  45. void LLVMAddLICMPass(LLVMPassManagerRef PM);
  46. /** See llvm::createLoopDeletionPass function. */
  47. void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM);
  48. /** See llvm::createLoopIdiomPass function */
  49. void LLVMAddLoopIdiomPass(LLVMPassManagerRef PM);
  50. /** See llvm::createLoopRotatePass function. */
  51. void LLVMAddLoopRotatePass(LLVMPassManagerRef PM);
  52. /** See llvm::createLoopUnrollPass function. */
  53. void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM);
  54. /** See llvm::createLoopUnswitchPass function. */
  55. void LLVMAddLoopUnswitchPass(LLVMPassManagerRef PM);
  56. /** See llvm::createMemCpyOptPass function. */
  57. void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM);
  58. /** See llvm::createPromoteMemoryToRegisterPass function. */
  59. void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM);
  60. /** See llvm::createReassociatePass function. */
  61. void LLVMAddReassociatePass(LLVMPassManagerRef PM);
  62. /** See llvm::createSCCPPass function. */
  63. void LLVMAddSCCPPass(LLVMPassManagerRef PM);
  64. /** See llvm::createScalarReplAggregatesPass function. */
  65. void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM);
  66. /** See llvm::createScalarReplAggregatesPass function. */
  67. void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM);
  68. /** See llvm::createScalarReplAggregatesPass function. */
  69. void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM,
  70. int Threshold);
  71. /** See llvm::createSimplifyLibCallsPass function. */
  72. void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM);
  73. /** See llvm::createTailCallEliminationPass function. */
  74. void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM);
  75. /** See llvm::createConstantPropagationPass function. */
  76. void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM);
  77. /** See llvm::demotePromoteMemoryToRegisterPass function. */
  78. void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM);
  79. /** See llvm::createVerifierPass function. */
  80. void LLVMAddVerifierPass(LLVMPassManagerRef PM);
  81. /** See llvm::createCorrelatedValuePropagationPass function */
  82. void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM);
  83. /** See llvm::createEarlyCSEPass function */
  84. void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM);
  85. /** See llvm::createLowerExpectIntrinsicPass function */
  86. void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM);
  87. /** See llvm::createTypeBasedAliasAnalysisPass function */
  88. void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM);
  89. /** See llvm::createBasicAliasAnalysisPass function */
  90. void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM);
  91. /**
  92. * @}
  93. */
  94. #ifdef __cplusplus
  95. }
  96. #endif /* defined(__cplusplus) */
  97. #endif