Skip to content

Commit 76bb547

Browse files
tbaederrKyvangka1610
authored andcommitted
[clang][bytecode] Handle UETT_OpenMPRequiredSimdAlign (llvm#111259)
1 parent 8fd65c4 commit 76bb547

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

clang/lib/AST/ByteCode/Compiler.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -2128,6 +2128,13 @@ bool Compiler<Emitter>::VisitUnaryExprOrTypeTraitExpr(
21282128
return this->emitConst(1, E);
21292129
}
21302130

2131+
if (Kind == UETT_OpenMPRequiredSimdAlign) {
2132+
assert(E->isArgumentType());
2133+
unsigned Bits = ASTCtx.getOpenMPDefaultSimdAlign(E->getArgumentType());
2134+
2135+
return this->emitConst(ASTCtx.toCharUnitsFromBits(Bits).getQuantity(), E);
2136+
}
2137+
21312138
return false;
21322139
}
21332140

clang/test/AST/ByteCode/builtins.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ void test_builtin_os_log(void *buf, int i, const char *data) {
3636
constexpr int len = __builtin_os_log_format_buffer_size("%d %{public}s %{private}.16P", i, data, data);
3737
static_assert(len > 0, "Expect len > 0");
3838
}
39+
40+
static_assert(__builtin_omp_required_simd_align(int) != 0);

0 commit comments

Comments
 (0)