annotate tools/binding/llvm/c/transforms/IPO.d @ 1585:29b0f2d11c92

Updated C binding to be more up to date with LLVM.
author tomas@localhost.localdomain
date Thu, 22 Oct 2009 13:30:30 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1585
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
1 // Converted to the D programming language by Tomas Lindquist Olsen 2009
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
2
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
3 /*===-- IPO.h - Interprocedural Transformations C Interface -----*- C++ -*-===*\
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
4 |* *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
5 |* The LLVM Compiler Infrastructure *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
6 |* *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
7 |* This file is distributed under the University of Illinois Open Source *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
8 |* License. See LICENSE.TXT for details. *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
9 |* *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
10 |*===----------------------------------------------------------------------===*|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
11 |* *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
12 |* This header declares the C interface to libLLVMIPO.a, which implements *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
13 |* various interprocedural transformations of the LLVM IR. *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
14 |* *|
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
15 \*===----------------------------------------------------------------------===*/
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
16 module llvm.c.transforms.IPO;
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
17
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
18 import llvm.c.Core;
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
19
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
20 extern(C):
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
21
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
22 /** See llvm::createArgumentPromotionPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
23 void LLVMAddArgumentPromotionPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
24
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
25 /** See llvm::createConstantMergePass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
26 void LLVMAddConstantMergePass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
27
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
28 /** See llvm::createDeadArgEliminationPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
29 void LLVMAddDeadArgEliminationPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
30
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
31 /** See llvm::createDeadTypeEliminationPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
32 void LLVMAddDeadTypeEliminationPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
33
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
34 /** See llvm::createFunctionAttrsPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
35 void LLVMAddFunctionAttrsPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
36
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
37 /** See llvm::createFunctionInliningPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
38 void LLVMAddFunctionInliningPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
39
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
40 /** See llvm::createGlobalDCEPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
41 void LLVMAddGlobalDCEPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
42
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
43 /** See llvm::createGlobalOptimizerPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
44 void LLVMAddGlobalOptimizerPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
45
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
46 /** See llvm::createIPConstantPropagationPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
47 void LLVMAddIPConstantPropagationPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
48
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
49 /** See llvm::createLowerSetJmpPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
50 void LLVMAddLowerSetJmpPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
51
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
52 /** See llvm::createPruneEHPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
53 void LLVMAddPruneEHPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
54
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
55 /** See llvm::createRaiseAllocationsPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
56 void LLVMAddRaiseAllocationsPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
57
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
58 /** See llvm::createStripDeadPrototypesPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
59 void LLVMAddStripDeadPrototypesPass(LLVMPassManagerRef PM);
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
60
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
61 /** See llvm::createStripSymbolsPass function. */
29b0f2d11c92 Updated C binding to be more up to date with LLVM.
tomas@localhost.localdomain
parents:
diff changeset
62 void LLVMAddStripSymbolsPass(LLVMPassManagerRef PM);