@@ -147,7 +147,7 @@ LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, AliasResult AR);
147147
148148// / Virtual base class for providers of capture analysis.
149149struct CaptureAnalysis {
150- virtual ~CaptureAnalysis () = 0 ;
150+ LLVM_ABI virtual ~CaptureAnalysis () = 0 ;
151151
152152 // / Check whether Object is not captured before instruction I. If OrAt is
153153 // / true, captures by instruction I itself are also considered.
@@ -160,12 +160,14 @@ struct CaptureAnalysis {
160160// / Context-free CaptureAnalysis provider, which computes and caches whether an
161161// / object is captured in the function at all, but does not distinguish whether
162162// / it was captured before or after the context instruction.
163- class SimpleCaptureAnalysis final : public CaptureAnalysis {
163+ class LLVM_ABI SimpleCaptureAnalysis final : public CaptureAnalysis {
164164 SmallDenseMap<const Value *, bool , 8 > IsCapturedCache;
165165
166166public:
167- LLVM_ABI bool isNotCapturedBefore (const Value *Object, const Instruction *I,
168- bool OrAt) override ;
167+ ~SimpleCaptureAnalysis () = default ;
168+
169+ bool isNotCapturedBefore (const Value *Object, const Instruction *I,
170+ bool OrAt) override ;
169171};
170172
171173// / Context-sensitive CaptureAnalysis provider, which computes and caches the
@@ -189,6 +191,8 @@ class EarliestEscapeAnalysis final : public CaptureAnalysis {
189191 EarliestEscapeAnalysis (DominatorTree &DT, const LoopInfo *LI = nullptr )
190192 : DT(DT), LI(LI) {}
191193
194+ LLVM_ABI ~EarliestEscapeAnalysis () = default ;
195+
192196 LLVM_ABI bool isNotCapturedBefore (const Value *Object, const Instruction *I,
193197 bool OrAt) override ;
194198
@@ -725,7 +729,7 @@ using AliasAnalysis = AAResults;
725729// / All of these methods model methods by the same name in the \c
726730// / AAResults class. Only differences and specifics to how the
727731// / implementations are called are documented here.
728- class AAResults ::Concept {
732+ class LLVM_ABI AAResults::Concept {
729733public:
730734 virtual ~Concept () = 0 ;
731735
@@ -973,7 +977,7 @@ class AAManager : public AnalysisInfoMixin<AAManager> {
973977private:
974978 friend AnalysisInfoMixin<AAManager>;
975979
976- static AnalysisKey Key;
980+ LLVM_ABI static AnalysisKey Key;
977981
978982 SmallVector<void (*)(Function &F, FunctionAnalysisManager &AM,
979983 AAResults &AAResults),
0 commit comments