~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/include/llvm/LinkAllPasses.h

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===- llvm/LinkAllPasses.h ------------ Reference All Passes ---*- 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 file pulls in all transformation and analysis passes for tools 
 
11
// like opt and bugpoint that need this functionality.
 
12
//
 
13
//===----------------------------------------------------------------------===//
 
14
 
 
15
#ifndef LLVM_LINKALLPASSES_H
 
16
#define LLVM_LINKALLPASSES_H
 
17
 
 
18
#include "llvm/Analysis/AliasSetTracker.h"
 
19
#include "llvm/Analysis/DomPrinter.h"
 
20
#include "llvm/Analysis/FindUsedTypes.h"
 
21
#include "llvm/Analysis/IntervalPartition.h"
 
22
#include "llvm/Analysis/Passes.h"
 
23
#include "llvm/Analysis/PointerTracking.h"
 
24
#include "llvm/Analysis/PostDominators.h"
 
25
#include "llvm/Analysis/ScalarEvolution.h"
 
26
#include "llvm/Assembly/PrintModulePass.h"
 
27
#include "llvm/CodeGen/Passes.h"
 
28
#include "llvm/Function.h"
 
29
#include "llvm/Transforms/Instrumentation.h"
 
30
#include "llvm/Transforms/IPO.h"
 
31
#include "llvm/Transforms/Scalar.h"
 
32
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
 
33
#include <cstdlib>
 
34
 
 
35
namespace {
 
36
  struct ForcePassLinking {
 
37
    ForcePassLinking() {
 
38
      // We must reference the passes in such a way that compilers will not
 
39
      // delete it all as dead code, even with whole program optimization,
 
40
      // yet is effectively a NO-OP. As the compiler isn't smart enough
 
41
      // to know that getenv() never returns -1, this will do the job.
 
42
      if (std::getenv("bar") != (char*) -1)
 
43
        return;
 
44
 
 
45
      (void) llvm::createAAEvalPass();
 
46
      (void) llvm::createAggressiveDCEPass();
 
47
      (void) llvm::createAliasAnalysisCounterPass();
 
48
      (void) llvm::createAliasDebugger();
 
49
      (void) llvm::createArgumentPromotionPass();
 
50
      (void) llvm::createStructRetPromotionPass();
 
51
      (void) llvm::createBasicAliasAnalysisPass();
 
52
      (void) llvm::createLibCallAliasAnalysisPass(0);
 
53
      (void) llvm::createScalarEvolutionAliasAnalysisPass();
 
54
      (void) llvm::createBlockPlacementPass();
 
55
      (void) llvm::createBreakCriticalEdgesPass();
 
56
      (void) llvm::createCFGSimplificationPass();
 
57
      (void) llvm::createConstantMergePass();
 
58
      (void) llvm::createConstantPropagationPass();
 
59
      (void) llvm::createDeadArgEliminationPass();
 
60
      (void) llvm::createDeadCodeEliminationPass();
 
61
      (void) llvm::createDeadInstEliminationPass();
 
62
      (void) llvm::createDeadStoreEliminationPass();
 
63
      (void) llvm::createDeadTypeEliminationPass();
 
64
      (void) llvm::createDomOnlyPrinterPass();
 
65
      (void) llvm::createDomPrinterPass();
 
66
      (void) llvm::createDomOnlyViewerPass();
 
67
      (void) llvm::createDomViewerPass();
 
68
      (void) llvm::createEdgeProfilerPass();
 
69
      (void) llvm::createOptimalEdgeProfilerPass();
 
70
      (void) llvm::createFunctionInliningPass();
 
71
      (void) llvm::createAlwaysInlinerPass();
 
72
      (void) llvm::createGlobalDCEPass();
 
73
      (void) llvm::createGlobalOptimizerPass();
 
74
      (void) llvm::createGlobalsModRefPass();
 
75
      (void) llvm::createIPConstantPropagationPass();
 
76
      (void) llvm::createIPSCCPPass();
 
77
      (void) llvm::createIndVarSimplifyPass();
 
78
      (void) llvm::createInstructionCombiningPass();
 
79
      (void) llvm::createInternalizePass(false);
 
80
      (void) llvm::createLCSSAPass();
 
81
      (void) llvm::createLICMPass();
 
82
      (void) llvm::createLazyValueInfoPass();
 
83
      (void) llvm::createLiveValuesPass();
 
84
      (void) llvm::createLoopDependenceAnalysisPass();
 
85
      (void) llvm::createLoopExtractorPass();
 
86
      (void) llvm::createLoopSimplifyPass();
 
87
      (void) llvm::createLoopStrengthReducePass();
 
88
      (void) llvm::createLoopUnrollPass();
 
89
      (void) llvm::createLoopUnswitchPass();
 
90
      (void) llvm::createLoopRotatePass();
 
91
      (void) llvm::createLoopIndexSplitPass();
 
92
      (void) llvm::createLowerInvokePass();
 
93
      (void) llvm::createLowerSetJmpPass();
 
94
      (void) llvm::createLowerSwitchPass();
 
95
      (void) llvm::createNoAAPass();
 
96
      (void) llvm::createNoProfileInfoPass();
 
97
      (void) llvm::createProfileEstimatorPass();
 
98
      (void) llvm::createProfileVerifierPass();
 
99
      (void) llvm::createProfileLoaderPass();
 
100
      (void) llvm::createPromoteMemoryToRegisterPass();
 
101
      (void) llvm::createDemoteRegisterToMemoryPass();
 
102
      (void) llvm::createPruneEHPass();
 
103
      (void) llvm::createPostDomOnlyPrinterPass();
 
104
      (void) llvm::createPostDomPrinterPass();
 
105
      (void) llvm::createPostDomOnlyViewerPass();
 
106
      (void) llvm::createPostDomViewerPass();
 
107
      (void) llvm::createReassociatePass();
 
108
      (void) llvm::createSCCPPass();
 
109
      (void) llvm::createScalarReplAggregatesPass();
 
110
      (void) llvm::createSimplifyLibCallsPass();
 
111
      (void) llvm::createSimplifyHalfPowrLibCallsPass();
 
112
      (void) llvm::createSingleLoopExtractorPass();
 
113
      (void) llvm::createStripSymbolsPass();
 
114
      (void) llvm::createStripNonDebugSymbolsPass();
 
115
      (void) llvm::createStripDeadPrototypesPass();
 
116
      (void) llvm::createTailCallEliminationPass();
 
117
      (void) llvm::createTailDuplicationPass();
 
118
      (void) llvm::createJumpThreadingPass();
 
119
      (void) llvm::createUnifyFunctionExitNodesPass();
 
120
      (void) llvm::createInstCountPass();
 
121
      (void) llvm::createCodeGenPreparePass();
 
122
      (void) llvm::createGVNPass();
 
123
      (void) llvm::createMemCpyOptPass();
 
124
      (void) llvm::createLoopDeletionPass();
 
125
      (void) llvm::createPostDomTree();
 
126
      (void) llvm::createPostDomFrontier();
 
127
      (void) llvm::createInstructionNamerPass();
 
128
      (void) llvm::createPartialSpecializationPass();
 
129
      (void) llvm::createFunctionAttrsPass();
 
130
      (void) llvm::createMergeFunctionsPass();
 
131
      (void) llvm::createPrintModulePass(0);
 
132
      (void) llvm::createPrintFunctionPass("", 0);
 
133
      (void) llvm::createDbgInfoPrinterPass();
 
134
      (void) llvm::createPartialInliningPass();
 
135
      (void) llvm::createSSIPass();
 
136
      (void) llvm::createSSIEverythingPass();
 
137
      (void) llvm::createGEPSplitterPass();
 
138
      (void) llvm::createSCCVNPass();
 
139
      (void) llvm::createABCDPass();
 
140
 
 
141
      (void)new llvm::IntervalPartition();
 
142
      (void)new llvm::FindUsedTypes();
 
143
      (void)new llvm::ScalarEvolution();
 
144
      (void)new llvm::PointerTracking();
 
145
      ((llvm::Function*)0)->viewCFGOnly();
 
146
      llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)0);
 
147
      X.add((llvm::Value*)0, 0);  // for -print-alias-sets
 
148
    }
 
149
  } ForcePassLinking; // Force link by creating a global definition.
 
150
}
 
151
 
 
152
#endif