Skip to content

Commit ab8b22b

Browse files
Merge branch 'llvm:main' into cfi-show
2 parents ca0a22f + 8e4bda1 commit ab8b22b

File tree

170 files changed

+2798
-1880
lines changed

Some content is hidden

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

170 files changed

+2798
-1880
lines changed

bolt/test/link_fdata.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
# Regexes to extract FDATA lines from input and parse FDATA and pre-aggregated
3434
# profile data
35-
prefix_pat = re.compile(f"^# {args.prefix}: (.*)")
35+
prefix_pat = re.compile(f"^(#|//) {args.prefix}: (.*)")
3636

3737
# FDATA records:
3838
# <is symbol?> <closest elf symbol or DSO name> <relative FROM address>
@@ -61,7 +61,7 @@
6161
prefix_match = prefix_pat.match(line)
6262
if not prefix_match:
6363
continue
64-
profile_line = prefix_match.group(1)
64+
profile_line = prefix_match.group(2)
6565
fdata_match = fdata_pat.match(profile_line)
6666
preagg_match = preagg_pat.match(profile_line)
6767
nolbr_match = nolbr_pat.match(profile_line)

bolt/test/timers.c

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
1-
/* This test checks timers for metadata manager phases.
2-
# RUN: %clang %cflags %s -o %t.exe
3-
# RUN: link_fdata %s %t.exe %t.fdata
4-
# RUN: llvm-bolt %t.exe -o %t.null --data %t.fdata -w %t.yaml --time-rewrite \
5-
# RUN: 2>&1 | FileCheck %s
6-
# RUN: link_fdata %s %t.exe %t.preagg PREAGG
7-
# RUN: perf2bolt %t.exe -o %t.null -p %t.preagg --pa --time-rewrite \
8-
# RUN: 2>&1 | FileCheck %s --check-prefix=CHECK-P2B
1+
// This test checks timers for metadata manager phases.
2+
// RUN: %clang %cflags %s -o %t.exe
3+
// RUN: link_fdata %s %t.exe %t.fdata
4+
// RUN: llvm-bolt %t.exe -o %t.null --data %t.fdata -w %t.yaml --time-rewrite \
5+
// RUN: 2>&1 | FileCheck %s
6+
// RUN: link_fdata %s %t.exe %t.preagg PREAGG
7+
// RUN: perf2bolt %t.exe -o %t.null -p %t.preagg --pa --time-rewrite \
8+
// RUN: 2>&1 | FileCheck %s --check-prefix=CHECK-P2B
99

10-
# CHECK-DAG: update metadata post-emit
11-
# CHECK-DAG: process section metadata
12-
# CHECK-DAG: process metadata pre-CFG
13-
# CHECK-DAG: process metadata post-CFG
14-
# CHECK-DAG: finalize metadata pre-emit
10+
// CHECK-DAG: update metadata post-emit
11+
// CHECK-DAG: process section metadata
12+
// CHECK-DAG: process metadata pre-CFG
13+
// CHECK-DAG: process metadata post-CFG
14+
// CHECK-DAG: finalize metadata pre-emit
1515

16-
# CHECK-P2B-DAG: process section metadata
17-
# CHECK-P2B-DAG: process metadata pre-CFG
16+
// CHECK-P2B-DAG: process section metadata
17+
// CHECK-P2B-DAG: process metadata pre-CFG
1818

19-
# FDATA: 0 [unknown] 0 1 main 0 1 0
20-
# PREAGG: B X:0 #main# 1 0
21-
*/
19+
// FDATA: 0 [unknown] 0 1 main 0 1 0
20+
// PREAGG: B X:0 #main# 1 0
2221
int main() { return 0; }

clang/include/clang/Frontend/ASTUnit.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,17 @@ class ASTUnit {
629629
return StoredDiagnostics.end();
630630
}
631631

632+
using diags_range = llvm::iterator_range<stored_diag_iterator>;
633+
using const_diags_range = llvm::iterator_range<stored_diag_const_iterator>;
634+
635+
diags_range storedDiagnostics() {
636+
return {stored_diag_begin(), stored_diag_end()};
637+
}
638+
639+
const_diags_range storedDiagnostics() const {
640+
return {stored_diag_begin(), stored_diag_end()};
641+
}
642+
632643
unsigned stored_diag_size() const { return StoredDiagnostics.size(); }
633644

634645
stored_diag_iterator stored_diag_afterDriver_begin() {

clang/include/clang/Tooling/Tooling.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "clang/AST/ASTConsumer.h"
3333
#include "clang/Basic/FileManager.h"
3434
#include "clang/Basic/LLVM.h"
35+
#include "clang/Frontend/ASTUnit.h"
3536
#include "clang/Frontend/FrontendAction.h"
3637
#include "clang/Frontend/PCHContainerOperations.h"
3738
#include "clang/Tooling/ArgumentsAdjusters.h"
@@ -239,7 +240,8 @@ std::unique_ptr<ASTUnit> buildASTFromCodeWithArgs(
239240
const FileContentMappings &VirtualMappedFiles = FileContentMappings(),
240241
DiagnosticConsumer *DiagConsumer = nullptr,
241242
IntrusiveRefCntPtr<llvm::vfs::FileSystem> BaseFS =
242-
llvm::vfs::getRealFileSystem());
243+
llvm::vfs::getRealFileSystem(),
244+
CaptureDiagsKind CaptureKind = CaptureDiagsKind::None);
243245

244246
/// Utility to run a FrontendAction in a single clang invocation.
245247
class ToolInvocation {

clang/lib/CodeGen/TargetBuiltins/ARM.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5847,7 +5847,7 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
58475847
case NEON::BI__builtin_neon_vcvtph_s16_f16:
58485848
case NEON::BI__builtin_neon_vcvth_s16_f16: {
58495849
unsigned Int;
5850-
llvm::Type* InTy = Int32Ty;
5850+
llvm::Type *InTy = Int16Ty;
58515851
llvm::Type* FTy = HalfTy;
58525852
llvm::Type *Tys[2] = {InTy, FTy};
58535853
Ops.push_back(EmitScalarExpr(E->getArg(0)));
@@ -5874,8 +5874,7 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
58745874
case NEON::BI__builtin_neon_vcvth_s16_f16:
58755875
Int = Intrinsic::aarch64_neon_fcvtzs; break;
58765876
}
5877-
Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "fcvt");
5878-
return Builder.CreateTrunc(Ops[0], Int16Ty);
5877+
return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "fcvt");
58795878
}
58805879
case NEON::BI__builtin_neon_vcaleh_f16:
58815880
case NEON::BI__builtin_neon_vcalth_f16:

clang/lib/Headers/avx2intrin.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1766,9 +1766,8 @@ _mm256_mullo_epi16(__m256i __a, __m256i __b)
17661766
/// \param __b
17671767
/// A 256-bit vector of [8 x i32] containing one of the source operands.
17681768
/// \returns A 256-bit vector of [8 x i32] containing the products.
1769-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
1770-
_mm256_mullo_epi32 (__m256i __a, __m256i __b)
1771-
{
1769+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1770+
_mm256_mullo_epi32(__m256i __a, __m256i __b) {
17721771
return (__m256i)((__v8su)__a * (__v8su)__b);
17731772
}
17741773

clang/lib/Headers/avx512bwintrin.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,14 +451,14 @@ _mm512_mullo_epi16 (__m512i __A, __m512i __B) {
451451
return (__m512i) ((__v32hu) __A * (__v32hu) __B);
452452
}
453453

454-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
454+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
455455
_mm512_mask_mullo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
456456
return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
457457
(__v32hi)_mm512_mullo_epi16(__A, __B),
458458
(__v32hi)__W);
459459
}
460460

461-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
461+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
462462
_mm512_maskz_mullo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
463463
return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
464464
(__v32hi)_mm512_mullo_epi16(__A, __B),

clang/lib/Headers/avx512dqintrin.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,19 @@ _store_mask8(__mmask8 *__A, __mmask8 __B) {
156156
*(__mmask8 *)__A = __builtin_ia32_kmovb((__mmask8)__B);
157157
}
158158

159-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
160-
_mm512_mullo_epi64 (__m512i __A, __m512i __B) {
159+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
160+
_mm512_mullo_epi64(__m512i __A, __m512i __B) {
161161
return (__m512i) ((__v8du) __A * (__v8du) __B);
162162
}
163163

164-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
164+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
165165
_mm512_mask_mullo_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
166166
return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
167167
(__v8di)_mm512_mullo_epi64(__A, __B),
168168
(__v8di)__W);
169169
}
170170

171-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
171+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
172172
_mm512_maskz_mullo_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
173173
return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
174174
(__v8di)_mm512_mullo_epi64(__A, __B),

clang/lib/Headers/avx512fintrin.h

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,23 +1450,20 @@ _mm512_maskz_mul_epu32(__mmask8 __M, __m512i __X, __m512i __Y)
14501450
(__v8di)_mm512_setzero_si512 ());
14511451
}
14521452

1453-
static __inline __m512i __DEFAULT_FN_ATTRS512
1454-
_mm512_mullo_epi32 (__m512i __A, __m512i __B)
1455-
{
1453+
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1454+
_mm512_mullo_epi32(__m512i __A, __m512i __B) {
14561455
return (__m512i) ((__v16su) __A * (__v16su) __B);
14571456
}
14581457

1459-
static __inline __m512i __DEFAULT_FN_ATTRS512
1460-
_mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B)
1461-
{
1458+
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1459+
_mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
14621460
return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
14631461
(__v16si)_mm512_mullo_epi32(__A, __B),
14641462
(__v16si)_mm512_setzero_si512());
14651463
}
14661464

1467-
static __inline __m512i __DEFAULT_FN_ATTRS512
1468-
_mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1469-
{
1465+
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1466+
_mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
14701467
return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
14711468
(__v16si)_mm512_mullo_epi32(__A, __B),
14721469
(__v16si)__W);

clang/lib/Headers/avx512vlbwintrin.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -426,28 +426,28 @@ _mm_maskz_sub_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
426426
(__v8hi)_mm_setzero_si128());
427427
}
428428

429-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
429+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
430430
_mm256_mask_mullo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
431431
return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
432432
(__v16hi)_mm256_mullo_epi16(__A, __B),
433433
(__v16hi)__W);
434434
}
435435

436-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
436+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
437437
_mm256_maskz_mullo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
438438
return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
439439
(__v16hi)_mm256_mullo_epi16(__A, __B),
440440
(__v16hi)_mm256_setzero_si256());
441441
}
442442

443-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
443+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
444444
_mm_mask_mullo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
445445
return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
446446
(__v8hi)_mm_mullo_epi16(__A, __B),
447447
(__v8hi)__W);
448448
}
449449

450-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
450+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
451451
_mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
452452
return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
453453
(__v8hi)_mm_mullo_epi16(__A, __B),

0 commit comments

Comments
 (0)