• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef MAPLE_IR_INCLUDE_MPL2MPL_OPTION_H
17 #define MAPLE_IR_INCLUDE_MPL2MPL_OPTION_H
18 
19 #include "cl_option.h"
20 #include "cl_parser.h"
21 
22 #include <stdint.h>
23 #include <string>
24 
25 namespace opts::mpl2mpl {
26 
27 extern maplecl::Option<std::string> dumpPhase;
28 extern maplecl::Option<std::string> skipPhase;
29 extern maplecl::Option<std::string> skipFrom;
30 extern maplecl::Option<std::string> skipAfter;
31 extern maplecl::Option<std::string> dumpFunc;
32 extern maplecl::Option<bool> quiet;
33 extern maplecl::Option<bool> maplelinker;
34 extern maplecl::Option<bool> regnativefunc;
35 extern maplecl::Option<bool> inlineWithProfile;
36 extern maplecl::Option<bool> inlineOpt;
37 extern maplecl::Option<bool> ipaClone;
38 extern maplecl::Option<std::string> noInlineFunc;
39 extern maplecl::Option<std::string> importFileList;
40 extern maplecl::Option<bool> crossModuleInline;
41 extern maplecl::Option<uint32_t> inlineSmallFunctionThreshold;
42 extern maplecl::Option<uint32_t> inlineHotFunctionThreshold;
43 extern maplecl::Option<uint32_t> inlineRecursiveFunctionThreshold;
44 extern maplecl::Option<uint32_t> inlineDepth;
45 extern maplecl::Option<uint32_t> inlineModuleGrow;
46 extern maplecl::Option<uint32_t> inlineColdFuncThresh;
47 extern maplecl::Option<uint32_t> profileHotCount;
48 extern maplecl::Option<uint32_t> profileColdCount;
49 extern maplecl::Option<uint32_t> profileHotRate;
50 extern maplecl::Option<uint32_t> profileColdRate;
51 extern maplecl::Option<bool> nativewrapper;
52 extern maplecl::Option<bool> regnativeDynamicOnly;
53 extern maplecl::Option<std::string> staticBindingList;
54 extern maplecl::Option<bool> dumpBefore;
55 extern maplecl::Option<bool> dumpAfter;
56 extern maplecl::Option<bool> dumpMuid;
57 extern maplecl::Option<bool> emitVtableImpl;
58 extern maplecl::Option<bool> userc;
59 extern maplecl::Option<bool> strictNaiveRc;
60 extern maplecl::Option<bool> rcOpt1;
61 extern maplecl::Option<bool> nativeopt;
62 extern maplecl::Option<bool> o0;
63 extern maplecl::Option<bool> o2;
64 extern maplecl::Option<bool> os;
65 extern maplecl::Option<std::string> criticalNative;
66 extern maplecl::Option<std::string> fastNative;
67 extern maplecl::Option<bool> nodot;
68 extern maplecl::Option<bool> genIrProfile;
69 extern maplecl::Option<bool> profileTest;
70 extern maplecl::Option<bool> barrier;
71 extern maplecl::Option<std::string> nativeFuncPropertyFile;
72 extern maplecl::Option<bool> maplelinkerNolocal;
73 extern maplecl::Option<uint32_t> buildApp;
74 extern maplecl::Option<bool> partialAot;
75 extern maplecl::Option<uint32_t> decoupleInit;
76 extern maplecl::Option<std::string> sourceMuid;
77 extern maplecl::Option<bool> deferredVisit;
78 extern maplecl::Option<bool> deferredVisit2;
79 extern maplecl::Option<bool> decoupleSuper;
80 extern maplecl::Option<bool> genDecoupleVtab;
81 extern maplecl::Option<bool> profileFunc;
82 extern maplecl::Option<std::string> dumpDevirtual;
83 extern maplecl::Option<std::string> readDevirtual;
84 extern maplecl::Option<bool> usewhiteclass;
85 extern maplecl::Option<std::string> appPackageName;
86 extern maplecl::Option<std::string> checkClInvocation;
87 extern maplecl::Option<bool> dumpClInvocation;
88 extern maplecl::Option<uint32_t> warning;
89 extern maplecl::Option<bool> lazyBinding;
90 extern maplecl::Option<bool> hotFix;
91 extern maplecl::Option<bool> compactMeta;
92 extern maplecl::Option<bool> genPGOReport;
93 extern maplecl::Option<uint32_t> inlineCache;
94 extern maplecl::Option<bool> noComment;
95 extern maplecl::Option<bool> rmnousefunc;
96 extern maplecl::Option<bool> sideeffect;
97 extern maplecl::Option<bool> dumpIPA;
98 extern maplecl::Option<bool> wpaa;
99 extern maplecl::Option<uint32_t> numOfCloneVersions;
100 extern maplecl::Option<uint32_t> numOfImpExprLowBound;
101 extern maplecl::Option<uint32_t> numOfImpExprHighBound;
102 extern maplecl::Option<uint32_t> numOfCallSiteLowBound;
103 extern maplecl::Option<uint32_t> numOfCallSiteUpBound;
104 extern maplecl::Option<uint32_t> numOfConstpropValue;
105 
106 }  // namespace opts::mpl2mpl
107 
108 #endif /* MAPLE_IR_INCLUDE_MPL2MPL_OPTION_H */
109