@@ -101,11 +101,11 @@ class GCFunctionInfo {
101101 // are live per safe point (1.5% on 64-bit hosts).
102102
103103public:
104- GCFunctionInfo (const Function &F, GCStrategy &S);
105- ~GCFunctionInfo ();
104+ LLVM_ABI GCFunctionInfo (const Function &F, GCStrategy &S);
105+ LLVM_ABI ~GCFunctionInfo ();
106106
107107 // / Handle invalidation explicitly.
108- bool invalidate (Function &F, const PreservedAnalyses &PA,
108+ LLVM_ABI bool invalidate (Function &F, const PreservedAnalyses &PA,
109109 FunctionAnalysisManager::Invalidator &Inv);
110110
111111 // / getFunction - Return the function to which this metadata applies.
@@ -163,7 +163,7 @@ class GCStrategyMap {
163163 GCStrategyMap (GCStrategyMap &&) = default ;
164164
165165 // / Handle invalidation explicitly.
166- bool invalidate (Module &M, const PreservedAnalyses &PA,
166+ LLVM_ABI bool invalidate (Module &M, const PreservedAnalyses &PA,
167167 ModuleAnalysisManager::Invalidator &Inv);
168168
169169 using iterator = MapT::iterator;
@@ -205,7 +205,7 @@ class CollectorMetadataAnalysis
205205
206206public:
207207 using Result = GCStrategyMap;
208- Result run (Module &M, ModuleAnalysisManager &MAM);
208+ LLVM_ABI Result run (Module &M, ModuleAnalysisManager &MAM);
209209};
210210
211211// / An analysis pass which caches information about the Function.
@@ -217,7 +217,7 @@ class GCFunctionAnalysis : public AnalysisInfoMixin<GCFunctionAnalysis> {
217217
218218public:
219219 using Result = GCFunctionInfo;
220- Result run (Function &F, FunctionAnalysisManager &FAM);
220+ LLVM_ABI Result run (Function &F, FunctionAnalysisManager &FAM);
221221};
222222
223223// / LowerIntrinsics - This pass rewrites calls to the llvm.gcread or
@@ -228,7 +228,7 @@ class GCFunctionAnalysis : public AnalysisInfoMixin<GCFunctionAnalysis> {
228228// / This pass requires `CollectorMetadataAnalysis`.
229229class GCLoweringPass : public PassInfoMixin <GCLoweringPass> {
230230public:
231- PreservedAnalyses run (Function &F, FunctionAnalysisManager &FAM);
231+ LLVM_ABI PreservedAnalyses run (Function &F, FunctionAnalysisManager &FAM);
232232};
233233
234234// / An analysis pass which caches information about the entire Module.
@@ -244,7 +244,7 @@ class GCModuleInfo : public ImmutablePass {
244244 // / Lookup the GCStrategy object associated with the given gc name.
245245 // / Objects are owned internally; No caller should attempt to delete the
246246 // / returned objects.
247- GCStrategy *getGCStrategy (const StringRef Name);
247+ LLVM_ABI GCStrategy *getGCStrategy (const StringRef Name);
248248
249249 // / List of per function info objects. In theory, Each of these
250250 // / may be associated with a different GC.
@@ -265,14 +265,14 @@ class GCModuleInfo : public ImmutablePass {
265265public:
266266 using iterator = SmallVector<std::unique_ptr<GCStrategy>, 1 >::const_iterator;
267267
268- static char ID;
268+ LLVM_ABI static char ID;
269269
270- GCModuleInfo ();
270+ LLVM_ABI GCModuleInfo ();
271271
272272 // / clear - Resets the pass. Any pass, which uses GCModuleInfo, should
273273 // / call it in doFinalization().
274274 // /
275- void clear ();
275+ LLVM_ABI void clear ();
276276
277277 // / begin/end - Iterators for used strategies.
278278 // /
@@ -282,7 +282,7 @@ class GCModuleInfo : public ImmutablePass {
282282 // / get - Look up function metadata. This is currently assumed
283283 // / have the side effect of initializing the associated GCStrategy. That
284284 // / will soon change.
285- GCFunctionInfo &getFunctionInfo (const Function &F);
285+ LLVM_ABI GCFunctionInfo &getFunctionInfo (const Function &F);
286286};
287287
288288} // end namespace llvm
0 commit comments