Skip to content

Commit 465b9cd

Browse files
authored
Merge branch 'main' into spirv_be_staging_1
2 parents a441ca6 + 0307147 commit 465b9cd

File tree

138 files changed

+4475
-2209
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+4475
-2209
lines changed

bolt/docs/CommandLineArgumentReference.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -381,11 +381,6 @@
381381

382382
Set verbosity level for diagnostic output
383383

384-
- `--write-dwp`
385-
386-
Output a single dwarf package file (dwp) instead of multiple non-relocatable
387-
dwarf object files (dwo).
388-
389384
### BOLT optimization options:
390385

391386
- `--align-blocks`

bolt/test/X86/dwarf4-ftypes-dwp-input-dwp-output.test

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# UNSUPPORTED: true
1+
# REQUIRES: system-linux
22
; RUN: rm -rf %t
33
; RUN: mkdir %t
44
; RUN: cd %t
@@ -8,7 +8,8 @@
88
; RUN: llvm-dwp -e main.exe -o main.exe.dwp
99
; RUN: llvm-dwarfdump --show-form --verbose --debug-types main.exe.dwp | FileCheck -check-prefix=PRE-BOLT %s
1010
; RUN: llvm-dwarfdump --show-form --verbose --debug-tu-index main.exe.dwp | FileCheck -check-prefix=PRE-BOLT-DWP-TU-INDEX %s
11-
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections --write-dwp
11+
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections
12+
; RUN: llvm-dwp -e main.exe.bolt -o main.exe.bolt.dwp
1213
; RUN: llvm-dwarfdump --show-form --verbose --debug-types main.exe.bolt.dwp | FileCheck -check-prefix=BOLT %s
1314
; RUN: llvm-dwarfdump --show-form --verbose --debug-tu-index main.exe.bolt.dwp | FileCheck -check-prefix=BOLT-DWP-TU-INDEX %s
1415

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,8 @@ Improvements to Clang's diagnostics
395395
that were previously incorrectly accepted in case of other irrelevant
396396
conditions are now consistently diagnosed, identical to C++ mode.
397397

398+
- Fix false-positive unused label diagnostic when a label is used in a named break
399+
or continue (#GH166013)
398400
- Clang now emits a diagnostic in case `vector_size` or `ext_vector_type`
399401
attributes are used with a negative size (#GH165463).
400402

clang/lib/Sema/SemaStmt.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3281,6 +3281,9 @@ static Scope *FindLabeledBreakContinueScope(Sema &S, Scope *CurScope,
32813281
SourceLocation LabelLoc,
32823282
bool IsContinue) {
32833283
assert(Target && "not a named break/continue?");
3284+
3285+
Target->markUsed(S.Context);
3286+
32843287
Scope *Found = nullptr;
32853288
for (Scope *Scope = CurScope; Scope; Scope = Scope->getParent()) {
32863289
if (Scope->isFunctionScope())

clang/test/CodeGen/X86/math-builtins.c

Lines changed: 162 additions & 160 deletions
Large diffs are not rendered by default.

clang/test/CodeGen/builtin-sqrt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ float foo(float X) {
1111
// HAS_ERRNO-NOT: attributes [[ATTR]] = {{{.*}} memory(none)
1212

1313
// NO_ERRNO: declare float @llvm.sqrt.f32(float) [[ATTR:#[0-9]+]]
14-
// NO_ERRNO: attributes [[ATTR]] = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
14+
// NO_ERRNO: attributes [[ATTR]] = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
1515

clang/test/CodeGen/libcalls.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ void test_fma(float a0, double a1, long double a2) {
7474
// CHECK-YES: declare float @fmaf(float noundef, float noundef, float noundef)
7575
// CHECK-YES: declare double @fma(double noundef, double noundef, double noundef)
7676
// CHECK-YES: declare x86_fp80 @fmal(x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef)
77-
// CHECK-NO: declare float @llvm.fma.f32(float, float, float) [[NUW_RN2:#[0-9]+]]
78-
// CHECK-NO: declare double @llvm.fma.f64(double, double, double) [[NUW_RN2]]
79-
// CHECK-NO: declare x86_fp80 @llvm.fma.f80(x86_fp80, x86_fp80, x86_fp80) [[NUW_RN2]]
77+
// CHECK-NO: declare float @llvm.fma.f32(float, float, float) [[NUW_RNI]]
78+
// CHECK-NO: declare double @llvm.fma.f64(double, double, double) [[NUW_RNI]]
79+
// CHECK-NO: declare x86_fp80 @llvm.fma.f80(x86_fp80, x86_fp80, x86_fp80) [[NUW_RNI]]
8080

8181
// Just checking to make sure these library functions are marked readnone
8282
void test_builtins(double d, float f, long double ld) {
@@ -85,19 +85,19 @@ void test_builtins(double d, float f, long double ld) {
8585
double atan_ = atan(d);
8686
long double atanl_ = atanl(ld);
8787
float atanf_ = atanf(f);
88-
// CHECK-NO: declare double @llvm.atan.f64(double) [[NUW_RNI:#[0-9]+]]
89-
// CHECK-NO: declare x86_fp80 @llvm.atan.f80(x86_fp80) [[NUW_RNI]]
90-
// CHECK-NO: declare float @llvm.atan.f32(float) [[NUW_RNI]]
88+
// CHECK-NO: declare double @llvm.atan.f64(double) [[NUW_RN2:#[0-9]+]]
89+
// CHECK-NO: declare x86_fp80 @llvm.atan.f80(x86_fp80) [[NUW_RN2]]
90+
// CHECK-NO: declare float @llvm.atan.f32(float) [[NUW_RN2]]
9191
// CHECK-YES: declare double @atan(double noundef) [[NUW:#[0-9]+]]
9292
// CHECK-YES: declare x86_fp80 @atanl(x86_fp80 noundef) [[NUW]]
9393
// CHECK-YES: declare float @atanf(float noundef) [[NUW]]
9494

9595
double atan2_ = atan2(d, 2);
9696
long double atan2l_ = atan2l(ld, ld);
9797
float atan2f_ = atan2f(f, f);
98-
// CHECK-NO: declare double @llvm.atan2.f64(double, double) [[NUW_RNI]]
99-
// CHECK-NO: declare x86_fp80 @llvm.atan2.f80(x86_fp80, x86_fp80) [[NUW_RNI]]
100-
// CHECK-NO: declare float @llvm.atan2.f32(float, float) [[NUW_RNI]]
98+
// CHECK-NO: declare double @llvm.atan2.f64(double, double) [[NUW_RN2]]
99+
// CHECK-NO: declare x86_fp80 @llvm.atan2.f80(x86_fp80, x86_fp80) [[NUW_RN2]]
100+
// CHECK-NO: declare float @llvm.atan2.f32(float, float) [[NUW_RN2]]
101101
// CHECK-YES: declare double @atan2(double noundef, double noundef) [[NUW]]
102102
// CHECK-YES: declare x86_fp80 @atan2l(x86_fp80 noundef, x86_fp80 noundef) [[NUW]]
103103
// CHECK-YES: declare float @atan2f(float noundef, float noundef) [[NUW]]
@@ -124,4 +124,4 @@ void test_builtins(double d, float f, long double ld) {
124124
}
125125

126126
// CHECK-YES: attributes [[NUW]] = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+x87" }
127-
// CHECK-NO-DAG: attributes [[NUW_RNI]] = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
127+
// CHECK-NO-DAG: attributes [[NUW_RNI]] = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }

0 commit comments

Comments
 (0)