llvm.org GIT mirror llvm / 4b807e0
Add project opt to Visual Studio. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19307 91177308-0d34-0410-b5e6-96231b3b80d8 Jeff Cohen 14 years ago
5 changed file(s) with 277 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 //===- llvm/Transforms/IPO.h - Interprocedural Transformations --*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by Jeff Cohen and is distributed under the
5 // University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This header file is required for building with Microsoft's VC++, as it has
10 // no way of linking all registered passes into executables other than by
11 // explicit use.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_TRANSFORMS_LINKALLPASSES_H
16 #define LLVM_TRANSFORMS_LINKALLPASSES_H
17
18 #include "llvm/Config/config.h"
19
20 #ifdef LLVM_ON_WIN32
21
22 #include "llvm/Transforms/Instrumentation.h"
23 #include "llvm/Transforms/IPO.h"
24 #include "llvm/Transforms/Scalar.h"
25 #include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
26
27 // Trying not to include , though maybe we should...
28 extern "C" __declspec(dllimport) void* __stdcall GetCurrentProcess();
29
30 namespace {
31 struct ForceLinking {
32 ForceLinking() {
33 // We must reference the passes in such a way that VC++ will not
34 // delete it all as dead code, even with whole program optimization,
35 // yet is effectively a NO-OP. As the compiler isn't smart enough
36 // to know that GetCurrentProcess() never returns
37 // INVALID_HANDLE_VALUE, this will do the job.
38 if (GetCurrentProcess() != (void *) -1)
39 return;
40
41 std::vector bbv;
42
43 // The commented out calls below refer to non-existant creation
44 // functions. They will be uncommented as the functions are added.
45
46 // (void) llvm::createADCEPass();
47 // (void) llvm::createArgPromotionPass();
48 // (void) llvm::createBasicBlockTracerPass();
49 (void) llvm::createBlockExtractorPass(bbv);
50 // (void) llvm::createBlockPlacementPass();
51 // (void) llvm::createBlockProfilerPass();
52 (void) llvm::createBreakCriticalEdgesPass();
53 // (void) llvm::createCEEPass();
54 // (void) llvm::createCFGSimplifyPass();
55 (void) llvm::createCombineBranchesPass();
56 // (void) llvm::createConstantExpressionsLowerPass();
57 (void) llvm::createConstantMergePass();
58 (void) llvm::createConstantPropagationPass();
59 // (void) llvm::createDAEPass();
60 // (void) llvm::createDCEPass();
61 // (void) llvm::createDSEPass();
62 // (void) llvm::createDTEPass();
63 (void) llvm::createDeadInstEliminationPass();
64 // (void) llvm::createEdgeProfilerPass();
65 (void) llvm::createEmitFunctionTablePass();
66 // (void) llvm::createFunctionProfilerPass();
67 (void) llvm::createFunctionResolvingPass();
68 // (void) llvm::createFunctionTracerPass();
69 (void) llvm::createGCSEPass();
70 (void) llvm::createGlobalDCEPass();
71 (void) llvm::createGlobalOptimizerPass();
72 // (void) llvm::createIPCPPass();
73 (void) llvm::createIPSCCPPass();
74 (void) llvm::createIndVarSimplifyPass();
75 // (void) llvm::createInstCombinerPass();
76 // (void) llvm::createInstLoopsPass();
77 (void) llvm::createInternalizePass();
78 (void) llvm::createLICMPass();
79 // (void) llvm::createLoopExtractorPass();
80 (void) llvm::createLoopSimplifyPass();
81 (void) llvm::createLoopStrengthReducePass();
82 (void) llvm::createLoopUnrollPass();
83 (void) llvm::createLoopUnswitchPass();
84 (void) llvm::createLowerAllocationsPass();
85 (void) llvm::createLowerGCPass();
86 (void) llvm::createLowerInvokePass();
87 (void) llvm::createLowerPackedPass();
88 (void) llvm::createLowerSelectPass();
89 (void) llvm::createLowerSetJmpPass();
90 (void) llvm::createLowerSwitchPass();
91 // (void) llvm::createPREPass();
92 // (void) llvm::createProfilePathsPass();
93 // (void) llvm::createPromotePass();
94 (void) llvm::createPruneEHPass();
95 // (void) llvm::createRPRPass();
96 (void) llvm::createRaiseAllocationsPass();
97 (void) llvm::createReassociatePass();
98 (void) llvm::createSCCPPass();
99 // (void) llvm::createSROAPass();
100 // (void) llvm::createSimpleInlinerPass();
101 (void) llvm::createSingleLoopExtractorPass();
102 (void) llvm::createStripSymbolsPass();
103 (void) llvm::createTailCallEliminationPass();
104 (void) llvm::createTailDuplicationPass();
105 // (void) llvm::createTraceBasicBlocksPass();
106 (void) llvm::createUnifyFunctionExitNodesPass();
107 }
108 } X;
109 };
110
111 #endif // LLVM_ON_WIN32
112
113 #endif
2222 #include "llvm/System/Signals.h"
2323 #include "llvm/Support/PluginLoader.h"
2424 #include "llvm/Support/SystemUtils.h"
25 #include "llvm/Transforms/LinkAllPasses.h"
2526 #include
2627 #include
2728 #include
228228
229229 RelativePath="..\..\lib\Transforms\Ipo\RaiseAllocations.cpp">
230230
231
232 RelativePath="..\..\lib\Transforms\Ipo\StripSymbols.cpp">
233
231234
232235
233236 Name="Scalar"
264267
265268
266269 RelativePath="..\..\lib\Transforms\Scalar\LoopSimplify.cpp">
270
271
272 RelativePath="..\..\lib\Transforms\Scalar\LoopStrengthReduce.cpp">
267273
268274
269275 RelativePath="..\..\lib\Transforms\Scalar\LoopUnroll.cpp">
400406 RelativePath="..\..\include\llvm\Transforms\IPO.h">
401407
402408
409 RelativePath="..\..\include\llvm\Transforms\LinkAllPasses.h">
410
411
403412 RelativePath="..\..\include\llvm\Transforms\Utils\Local.h">
404413
405414
160160 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CBackend", "CBackend\CBackend.vcproj", "{057777CD-DED5-46DF-BF9A-6B76DE212549}"
161161 ProjectSection(ProjectDependencies) = postProject
162162 {19514E48-456C-4B9D-8637-F2285476461E} = {19514E48-456C-4B9D-8637-F2285476461E}
163 EndProjectSection
164 EndProject
165 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opt", "opt\opt.vcproj", "{006D8B41-C3C7-4448-85E1-AF8907E591E5}"
166 ProjectSection(ProjectDependencies) = postProject
167 {0622E827-8464-489D-8B1C-B0B496F35C08} = {0622E827-8464-489D-8B1C-B0B496F35C08}
168 {28AA9146-3482-4F41-9CC6-407B1D258508} = {28AA9146-3482-4F41-9CC6-407B1D258508}
169 {19514E48-456C-4B9D-8637-F2285476461E} = {19514E48-456C-4B9D-8637-F2285476461E}
170 {F1EFF064-8869-4DFF-8E1A-CD8F4A5F8D61} = {F1EFF064-8869-4DFF-8E1A-CD8F4A5F8D61}
171 {059FBAB8-C76D-48A0-AA75-3C57BD3EAFE4} = {059FBAB8-C76D-48A0-AA75-3C57BD3EAFE4}
172 {C59374C1-9FC0-4147-B836-327DFDC52D99} = {C59374C1-9FC0-4147-B836-327DFDC52D99}
173 {45CD78D7-C5D9-47FE-AD12-F3251EEDAFFB} = {45CD78D7-C5D9-47FE-AD12-F3251EEDAFFB}
174 {0F8407F3-FA23-4CF1-83A9-DCBE0B361489} = {0F8407F3-FA23-4CF1-83A9-DCBE0B361489}
163175 EndProjectSection
164176 EndProject
165177 Global
260272 {057777CD-DED5-46DF-BF9A-6B76DE212549}.Debug.Build.0 = Debug|Win32
261273 {057777CD-DED5-46DF-BF9A-6B76DE212549}.Release.ActiveCfg = Release|Win32
262274 {057777CD-DED5-46DF-BF9A-6B76DE212549}.Release.Build.0 = Release|Win32
275 {006D8B41-C3C7-4448-85E1-AF8907E591E5}.Debug.ActiveCfg = Debug|Win32
276 {006D8B41-C3C7-4448-85E1-AF8907E591E5}.Debug.Build.0 = Debug|Win32
277 {006D8B41-C3C7-4448-85E1-AF8907E591E5}.Release.ActiveCfg = Release|Win32
278 {006D8B41-C3C7-4448-85E1-AF8907E591E5}.Release.Build.0 = Release|Win32
263279 EndGlobalSection
264280 GlobalSection(ExtensibilityGlobals) = postSolution
265281 EndGlobalSection
0
1
2 ProjectType="Visual C++"
3 Version="7.10"
4 Name="opt"
5 ProjectGUID="{006D8B41-C3C7-4448-85E1-AF8907E591E5}"
6 Keyword="Win32Proj">
7
8
9 Name="Win32"/>
10
11
12
13 Name="Debug|Win32"
14 OutputDirectory="$(SolutionDir)$(IntDir)"
15 IntermediateDirectory="Debug"
16 ConfigurationType="1"
17 CharacterSet="2">
18
19 Name="VCCLCompilerTool"
20 Optimization="0"
21 AdditionalIncludeDirectories="..\..\include;.."
22 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
23 MinimalRebuild="TRUE"
24 BasicRuntimeChecks="3"
25 RuntimeLibrary="3"
26 ForceConformanceInForLoopScope="TRUE"
27 RuntimeTypeInfo="TRUE"
28 UsePrecompiledHeader="0"
29 BrowseInformation="1"
30 WarningLevel="3"
31 Detect64BitPortabilityProblems="FALSE"
32 DebugInformationFormat="4"
33 DisableSpecificWarnings="4146,4800"/>
34
35 Name="VCCustomBuildTool"/>
36
37 Name="VCLinkerTool"
38 OutputFile="$(OutDir)/opt.exe"
39 LinkIncremental="2"
40 GenerateDebugInformation="TRUE"
41 ProgramDatabaseFile="$(OutDir)/opt.pdb"
42 SubSystem="1"
43 TargetMachine="1"/>
44
45 Name="VCMIDLTool"/>
46
47 Name="VCPostBuildEventTool"/>
48
49 Name="VCPreBuildEventTool"/>
50
51 Name="VCPreLinkEventTool"/>
52
53 Name="VCResourceCompilerTool"/>
54
55 Name="VCWebServiceProxyGeneratorTool"/>
56
57 Name="VCXMLDataGeneratorTool"/>
58
59 Name="VCWebDeploymentTool"/>
60
61 Name="VCManagedWrapperGeneratorTool"/>
62
63 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
64
65
66 Name="Release|Win32"
67 OutputDirectory="$(SolutionDir)$(IntDir)"
68 IntermediateDirectory="Release"
69 ConfigurationType="1"
70 CharacterSet="2">
71
72 Name="VCCLCompilerTool"
73 AdditionalIncludeDirectories="..\..\include;.."
74 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
75 RuntimeLibrary="2"
76 ForceConformanceInForLoopScope="TRUE"
77 RuntimeTypeInfo="TRUE"
78 UsePrecompiledHeader="0"
79 BrowseInformation="0"
80 WarningLevel="3"
81 Detect64BitPortabilityProblems="FALSE"
82 DebugInformationFormat="3"
83 DisableSpecificWarnings="4146,4800"/>
84
85 Name="VCCustomBuildTool"/>
86
87 Name="VCLinkerTool"
88 OutputFile="$(OutDir)/opt.exe"
89 LinkIncremental="1"
90 GenerateDebugInformation="TRUE"
91 SubSystem="1"
92 OptimizeReferences="2"
93 EnableCOMDATFolding="2"
94 TargetMachine="1"/>
95
96 Name="VCMIDLTool"/>
97
98 Name="VCPostBuildEventTool"/>
99
100 Name="VCPreBuildEventTool"/>
101
102 Name="VCPreLinkEventTool"/>
103
104 Name="VCResourceCompilerTool"/>
105
106 Name="VCWebServiceProxyGeneratorTool"/>
107
108 Name="VCXMLDataGeneratorTool"/>
109
110 Name="VCWebDeploymentTool"/>
111
112 Name="VCManagedWrapperGeneratorTool"/>
113
114 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
115
116
117
118
119
120
121 Name="Source Files"
122 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
123 UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
124
125 RelativePath="..\..\tools\opt\opt.cpp">
126
127
128
129 Name="Header Files"
130 Filter="h;hpp;hxx;hm;inl;inc;xsd"
131 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
132
133
134
135
136