Skip to content

Commit 379652d

Browse files
authored
Merge pull request #7406 from hughbe/llvm-runtime
Use LLVM_* attributes some more in the runtime
2 parents 1231ba7 + ff2f056 commit 379652d

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

stdlib/public/runtime/ErrorObject.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
#include "swift/Runtime/Metadata.h"
2828
#include "swift/Runtime/HeapObject.h"
2929
#include "SwiftHashableSupport.h"
30+
31+
#include "llvm/Support/Compiler.h"
32+
3033
#include <atomic>
3134
#if SWIFT_OBJC_INTEROP
3235
# include <CoreFoundation/CoreFoundation.h>
@@ -205,9 +208,8 @@ SWIFT_RUNTIME_EXPORT
205208
void swift_errorInMain(SwiftError *object);
206209
SWIFT_RUNTIME_EXPORT
207210
void swift_willThrow(SwiftError *object);
208-
SWIFT_RUNTIME_EXPORT
209-
void swift_unexpectedError(SwiftError *object)
210-
__attribute__((__noreturn__));
211+
SWIFT_RUNTIME_EXPORT LLVM_ATTRIBUTE_NORETURN
212+
void swift_unexpectedError(SwiftError *object);
211213

212214
#if SWIFT_OBJC_INTEROP
213215

stdlib/public/runtime/HeapObject.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "swift/Runtime/Heap.h"
2020
#include "swift/Runtime/Metadata.h"
2121
#include "swift/ABI/System.h"
22+
#include "llvm/Support/Compiler.h"
2223
#include "llvm/Support/MathExtras.h"
2324
#include "MetadataCache.h"
2425
#include "Private.h"
@@ -187,9 +188,8 @@ OpaqueValue *swift::swift_projectBox(HeapObject *o) {
187188
}
188189

189190
// Forward-declare this, but define it after swift_release.
190-
extern "C" LLVM_LIBRARY_VISIBILITY void
191-
_swift_release_dealloc(HeapObject *object) SWIFT_CC(RegisterPreservingCC_IMPL)
192-
__attribute__((__noinline__, __used__));
191+
extern "C" LLVM_LIBRARY_VISIBILITY LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED
192+
void _swift_release_dealloc(HeapObject *object) SWIFT_CC(RegisterPreservingCC_IMPL);
193193

194194
void swift::swift_retain(HeapObject *object)
195195
SWIFT_CC(RegisterPreservingCC_IMPL) {

stdlib/public/runtime/Leaks.h

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,20 @@
2323

2424
#include "../SwiftShims/Visibility.h"
2525

26+
#include "llvm/Support/Compiler.h"
27+
2628
namespace swift {
2729
struct HeapObject;
2830
}
2931

30-
SWIFT_RUNTIME_EXPORT
31-
void swift_leaks_startTrackingObjects(const char *)
32-
__attribute__((__noinline__, __used__));
33-
SWIFT_RUNTIME_EXPORT
34-
int swift_leaks_stopTrackingObjects(const char *)
35-
__attribute__((__noinline__, __used__));
36-
SWIFT_RUNTIME_EXPORT
37-
void swift_leaks_startTrackingObject(swift::HeapObject *)
38-
__attribute__((__noinline__, __used__));
39-
SWIFT_RUNTIME_EXPORT
40-
void swift_leaks_stopTrackingObject(swift::HeapObject *)
41-
__attribute__((__noinline__, __used__));
32+
SWIFT_RUNTIME_EXPORT LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED
33+
void swift_leaks_startTrackingObjects(const char *);
34+
SWIFT_RUNTIME_EXPORT LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED
35+
int swift_leaks_stopTrackingObjects(const char *);
36+
SWIFT_RUNTIME_EXPORT LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED
37+
void swift_leaks_startTrackingObject(swift::HeapObject *);
38+
SWIFT_RUNTIME_EXPORT LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED
39+
void swift_leaks_stopTrackingObject(swift::HeapObject *);
4240

4341
#define SWIFT_LEAKS_START_TRACKING_OBJECT(obj) \
4442
swift_leaks_startTrackingObject(obj)

0 commit comments

Comments
 (0)