[compiler-rt] f6038cd - [compiler-rt][scudo] Simplify TBI checks

Leonard Chan via llvm-commits llvm-commits at lists.llvm.org
Tue May 24 10:53:23 PDT 2022


Author: Leonard Chan
Date: 2022-05-24T10:53:09-07:00
New Revision: f6038cdca03115da22b9e6ada5c25de4df5f42d2

URL: https://github.com/llvm/llvm-project/commit/f6038cdca03115da22b9e6ada5c25de4df5f42d2
DIFF: https://github.com/llvm/llvm-project/commit/f6038cdca03115da22b9e6ada5c25de4df5f42d2.diff

LOG: [compiler-rt][scudo] Simplify TBI checks

Differential Revision: https://reviews.llvm.org/D111080

Added: 
    

Modified: 
    compiler-rt/lib/scudo/standalone/memtag.h

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/scudo/standalone/memtag.h b/compiler-rt/lib/scudo/standalone/memtag.h
index 7f14a30fee12b..13eb4bb8d2277 100644
--- a/compiler-rt/lib/scudo/standalone/memtag.h
+++ b/compiler-rt/lib/scudo/standalone/memtag.h
@@ -18,19 +18,16 @@
 
 namespace scudo {
 
-#if (__clang_major__ >= 12 && defined(__aarch64__) && !defined(__ILP32__)) ||  \
-    defined(SCUDO_FUZZ)
-
 // We assume that Top-Byte Ignore is enabled if the architecture supports memory
 // tagging. Not all operating systems enable TBI, so we only claim architectural
 // support for memory tagging if the operating system enables TBI.
 // HWASan uses the top byte for its own purpose and Scudo should not touch it.
-#if SCUDO_LINUX && !defined(SCUDO_DISABLE_TBI) &&                              \
-    !__has_feature(hwaddress_sanitizer)
+#if (__clang_major__ >= 12 && defined(__aarch64__) && !defined(__ILP32__) &&   \
+     SCUDO_LINUX &&                                                            \
+     !defined(SCUDO_DISABLE_TBI) !__has_feature(hwaddress_sanitizer)) ||       \
+    defined(SCUDO_FUZZ)
+
 inline constexpr bool archSupportsMemoryTagging() { return true; }
-#else
-inline constexpr bool archSupportsMemoryTagging() { return false; }
-#endif
 
 inline constexpr uptr archMemoryTagGranuleSize() { return 16; }
 


        


More information about the llvm-commits mailing list