Skip to content

Commit 537cda8

Browse files
committed
[hexagon] Add {con,de}structive interference size defn
This support was originally added in 72c373b ([C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (#89446), 2024-04-26). We're overriding the values for Hexagon here. Signed-off-by: Brian Cain <[email protected]>
1 parent dcb71c0 commit 537cda8

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

clang/lib/Basic/Targets/Hexagon.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ class LLVM_LIBRARY_VISIBILITY HexagonTargetInfo : public TargetInfo {
139139
}
140140

141141
bool hasBitIntType() const override { return true; }
142+
143+
std::pair<unsigned, unsigned> hardwareInterferenceSizes() const override {
144+
return std::make_pair(32, 32);
145+
}
142146
};
143147
} // namespace targets
144148
} // namespace clang

clang/test/Preprocessor/hexagon-predefines.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,3 +169,12 @@
169169
// CHECK-ATOMIC: #define __CLANG_ATOMIC_POINTER_LOCK_FREE 2
170170
// CHECK-ATOMIC: #define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
171171
// CHECK-ATOMIC: #define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
172+
173+
// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-linux-musl \
174+
// RUN: -target-cpu hexagonv67 | FileCheck \
175+
// RUN: %s -check-prefix CHECK-INTERFERENCE
176+
// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-none-elf \
177+
// RUN: -target-cpu hexagonv67 | FileCheck \
178+
// RUN: %s -check-prefix CHECK-INTERFERENCE
179+
// CHECK-INTERFERENCE: #define __GCC_CONSTRUCTIVE_SIZE 32
180+
// CHECK-INTERFERENCE: #define __GCC_DESTRUCTIVE_SIZE 32

0 commit comments

Comments
 (0)