Bug 1784202 - Update builders to clang 15. r=firefox-build-system-reviewers,andi

We keep clang 14 for webrender-wrench for now, because of bug 1789346.

Differential Revision: https://phabricator.services.mozilla.com/D155532
This commit is contained in:
Mike Hommey 2022-11-01 23:46:33 +00:00
parent 81dc489b3c
commit bee90b0f95
15 changed files with 873 additions and 298 deletions

View File

@ -0,0 +1,19 @@
{
"patches": [
"find_symbolizer_linux_clang_15.patch",
"android-mangling-error_clang_12.patch",
"unpoison-thread-stacks_clang_10.patch",
"downgrade-mangling-error_clang_12.patch",
"bug47258-extract-symbols-mbcs.patch",
"fuzzing_ccov_build_clang_12.patch",
"win64-no-symlink_clang_16.patch",
"revert-llvmorg-15-init-13446-g7524fe962e47.patch",
"revert-llvmorg-14-init-14141-gd6d3000a2f6d.patch",
"revert-llvmorg-14-init-11890-gf86deb18cab6.patch",
"win64-ret-null-on-commitment-limit_clang_14.patch",
"llvmorg-16-init-7778-g232e0a011e8c.patch",
"llvmorg-16-init-8264-gc34caa9120a4.patch",
"llvmorg-16-init-9438-g8c49b01a1ee0.patch",
"profdata-compat.patch"
]
}

View File

@ -14,6 +14,7 @@
"revert-llvmorg-14-init-14141-gd6d3000a2f6d.patch",
"revert-llvmorg-14-init-11890-gf86deb18cab6_clang_16.patch",
"win64-ret-null-on-commitment-limit_clang_14.patch",
"compiler-rt-rss-limit-heap-profile.patch"
"compiler-rt-rss-limit-heap-profile.patch",
"profdata-compat.patch"
]
}

View File

@ -0,0 +1,256 @@
From e9b4278ca7a492d3710aeae324250189379e6d30 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <sguelton@redhat.com>
Date: Thu, 13 Oct 2022 10:26:41 +0200
Subject: [PATCH] [lto] Do not try to internalize symbols with escaped name
Because of LLVM mangling escape sequence (through '\01' prefix), it is possible
for a single symbols two have two different IR representations.
For instance, consider @symbol and @"\01_symbol". On OSX, because of the system
mangling rules, these two IR names point are converted in the same final symbol
upon linkage.
LTO doesn't model this behavior, which may result in symbols being incorrectly
internalized (if all reference use the escaping sequence while the definition
doesn't).
The proper approach is probably to use the mangled name to compute GUID to
avoid the dual representation, but we can also avoid discarding symbols that are
bound to two different IR names. This is an approximation, but it's less
intrusive on the codebase.
Fix #57864
Differential Revision: https://reviews.llvm.org/D135710
---
llvm/lib/LTO/LTO.cpp | 16 +++++++
.../LTO/X86/hidden-escaped-symbols-alt.ll | 41 ++++++++++++++++++
llvm/test/LTO/X86/hidden-escaped-symbols.ll | 41 ++++++++++++++++++
.../ThinLTO/X86/hidden-escaped-symbols-alt.ll | 42 +++++++++++++++++++
.../ThinLTO/X86/hidden-escaped-symbols.ll | 42 +++++++++++++++++++
5 files changed, 182 insertions(+)
create mode 100644 llvm/test/LTO/X86/hidden-escaped-symbols-alt.ll
create mode 100644 llvm/test/LTO/X86/hidden-escaped-symbols.ll
create mode 100644 llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
create mode 100644 llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp
index 0f78c4ebd5ca..93aed72b3d15 100644
--- a/llvm/lib/LTO/LTO.cpp
+++ b/llvm/lib/LTO/LTO.cpp
@@ -565,6 +565,22 @@ void LTO::addModuleToGlobalRes(ArrayRef<InputFile::Symbol> Syms,
GlobalRes.IRName = std::string(Sym.getIRName());
}
+ // In rare occasion, the symbol used to initialize GlobalRes has a different
+ // IRName from the inspected Symbol. This can happen on macOS + iOS, when a
+ // symbol is referenced through its mangled name, say @"\01_symbol" while
+ // the IRName is @symbol (the prefix underscore comes from MachO mangling).
+ // In that case, we have the same actual Symbol that can get two different
+ // GUID, leading to some invalid internalization. Workaround this by marking
+ // the GlobalRes external.
+
+ // FIXME: instead of this check, it would be desirable to compute GUIDs
+ // based on mangled name, but this requires an access to the Target Triple
+ // and would be relatively invasive on the codebase.
+ if (GlobalRes.IRName != Sym.getIRName()) {
+ GlobalRes.Partition = GlobalResolution::External;
+ GlobalRes.VisibleOutsideSummary = true;
+ }
+
// Set the partition to external if we know it is re-defined by the linker
// with -defsym or -wrap options, used elsewhere, e.g. it is visible to a
// regular object, is referenced from llvm.compiler.used/llvm.used, or was
diff --git a/llvm/test/LTO/X86/hidden-escaped-symbols-alt.ll b/llvm/test/LTO/X86/hidden-escaped-symbols-alt.ll
new file mode 100644
index 000000000000..ca8e7d8eb2b2
--- /dev/null
+++ b/llvm/test/LTO/X86/hidden-escaped-symbols-alt.ll
@@ -0,0 +1,41 @@
+; Check interaction between LTO and LLVM mangling escape char, see #57864.
+
+; RUN: split-file %s %t
+; RUN: opt %t/hide-me.ll -o %t/hide-me.bc
+; RUN: opt %t/ref.ll -o %t/ref.bc
+; RUN: llvm-lto2 run \
+; RUN: -r %t/hide-me.bc,_hide_me,p \
+; RUN: -r %t/ref.bc,_main,plx \
+; RUN: -r %t/ref.bc,_hide_me,l \
+; RUN: --select-save-temps=precodegen \
+; RUN: -o %t/out \
+; RUN: %t/hide-me.bc %t/ref.bc
+; RUN: llvm-dis %t/out.0.5.precodegen.bc -o - | FileCheck %s
+
+
+;--- hide-me.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@"\01_hide_me" = hidden local_unnamed_addr global i8 8, align 1
+
+;--- ref.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@hide_me = external local_unnamed_addr global i8
+
+define i8 @main() {
+ %1 = load i8, ptr @hide_me, align 1
+ ret i8 %1
+}
+
+
+; CHECK: @"\01_hide_me" = hidden local_unnamed_addr global i8 8, align 1
+; CHECK: @hide_me = external dso_local local_unnamed_addr global i8
+
+; CHECK: define dso_local i8 @main() local_unnamed_addr #0 {
+; CHECK: %1 = load i8, ptr @hide_me, align 1
+; CHECK: ret i8 %1
+; CHECK: }
+
diff --git a/llvm/test/LTO/X86/hidden-escaped-symbols.ll b/llvm/test/LTO/X86/hidden-escaped-symbols.ll
new file mode 100644
index 000000000000..aec617e25d3d
--- /dev/null
+++ b/llvm/test/LTO/X86/hidden-escaped-symbols.ll
@@ -0,0 +1,41 @@
+; Check interaction between LTO and LLVM mangling escape char, see #57864.
+
+; RUN: split-file %s %t
+; RUN: opt %t/hide-me.ll -o %t/hide-me.bc
+; RUN: opt %t/ref.ll -o %t/ref.bc
+; RUN: llvm-lto2 run \
+; RUN: -r %t/hide-me.bc,_hide_me,p \
+; RUN: -r %t/ref.bc,_main,plx \
+; RUN: -r %t/ref.bc,_hide_me,l \
+; RUN: --select-save-temps=precodegen \
+; RUN: -o %t/out \
+; RUN: %t/hide-me.bc %t/ref.bc
+; RUN: llvm-dis %t/out.0.5.precodegen.bc -o - | FileCheck %s
+
+
+;--- hide-me.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@hide_me = hidden local_unnamed_addr global i8 8, align 1
+
+;--- ref.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@"\01_hide_me" = external local_unnamed_addr global i8
+
+define i8 @main() {
+ %1 = load i8, ptr @"\01_hide_me", align 1
+ ret i8 %1
+}
+
+
+; CHECK: @hide_me = hidden local_unnamed_addr global i8 8, align 1
+; CHECK: @"\01_hide_me" = external dso_local local_unnamed_addr global i8
+
+; CHECK: define dso_local i8 @main() local_unnamed_addr #0 {
+; CHECK: %1 = load i8, ptr @"\01_hide_me", align 1
+; CHECK: ret i8 %1
+; CHECK: }
+
diff --git a/llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll b/llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
new file mode 100644
index 000000000000..dadd1d434256
--- /dev/null
+++ b/llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
@@ -0,0 +1,42 @@
+; Check interaction between LTO and LLVM mangling escape char, see #57864.
+
+; RUN: split-file %s %t
+; RUN: opt -module-summary %t/hide-me.ll -o %t/hide-me.bc
+; RUN: opt -module-summary %t/ref.ll -o %t/ref.bc
+; RUN: llvm-lto2 run \
+; RUN: -r %t/hide-me.bc,_hide_me,p \
+; RUN: -r %t/ref.bc,_main,plx \
+; RUN: -r %t/ref.bc,_hide_me,l \
+; RUN: --select-save-temps=precodegen \
+; RUN: -o %t/out \
+; RUN: %t/hide-me.bc %t/ref.bc
+; RUN: llvm-dis %t/out.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-HIDE %s
+; RUN: llvm-dis %t/out.2.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-REF %s
+
+
+;--- hide-me.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@"\01_hide_me" = hidden local_unnamed_addr global i8 8, align 1
+
+;--- ref.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@hide_me = external local_unnamed_addr global i8
+
+define i8 @main() {
+ %1 = load i8, ptr @hide_me, align 1
+ ret i8 %1
+}
+
+
+; CHECK-HIDE: @"\01_hide_me" = hidden local_unnamed_addr global i8 8, align 1
+
+; CHECK-REF: @hide_me = external local_unnamed_addr global i8
+; CHECK-REF: define dso_local i8 @main() local_unnamed_addr #0 {
+; CHECK-REF: %1 = load i8, ptr @hide_me, align 1
+; CHECK-REF: ret i8 %1
+; CHECK-REF: }
+
diff --git a/llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll b/llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
new file mode 100644
index 000000000000..8d0e22f0fd22
--- /dev/null
+++ b/llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
@@ -0,0 +1,42 @@
+; Check interaction between LTO and LLVM mangling escape char, see #57864.
+
+; RUN: split-file %s %t
+; RUN: opt -module-summary %t/hide-me.ll -o %t/hide-me.bc
+; RUN: opt -module-summary %t/ref.ll -o %t/ref.bc
+; RUN: llvm-lto2 run \
+; RUN: -r %t/hide-me.bc,_hide_me,p \
+; RUN: -r %t/ref.bc,_main,plx \
+; RUN: -r %t/ref.bc,_hide_me,l \
+; RUN: --select-save-temps=precodegen \
+; RUN: -o %t/out \
+; RUN: %t/hide-me.bc %t/ref.bc
+; RUN: llvm-dis %t/out.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-HIDE %s
+; RUN: llvm-dis %t/out.2.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-REF %s
+
+
+;--- hide-me.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@hide_me = hidden local_unnamed_addr global i8 8, align 1
+
+;--- ref.ll
+target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.0"
+
+@"\01_hide_me" = external local_unnamed_addr global i8
+
+define i8 @main() {
+ %1 = load i8, ptr @"\01_hide_me", align 1
+ ret i8 %1
+}
+
+
+; CHECK-HIDE: @hide_me = hidden local_unnamed_addr global i8 8, align 1
+
+; CHECK-REF: @"\01_hide_me" = external local_unnamed_addr global i8
+; CHECK-REF: define dso_local i8 @main() local_unnamed_addr #0 {
+; CHECK-REF: %1 = load i8, ptr @"\01_hide_me", align 1
+; CHECK-REF: ret i8 %1
+; CHECK-REF: }
+
--
2.38.1.1.g6d9df9d320

View File

@ -0,0 +1,85 @@
From 30742817d2eb1fc4f4c8b3b719aba20b3eeb936e Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh@glandium.org>
Date: Wed, 12 Oct 2022 08:43:04 +0900
Subject: [PATCH] [InstCombine] Bail out of casting calls when a conversion
from/to byval is involved.
Fixes #58307
Differential Revision: https://reviews.llvm.org/D135738
---
.../InstCombine/InstCombineCalls.cpp | 4 +++
llvm/test/Transforms/InstCombine/byval.ll | 3 +-
.../test/Transforms/InstCombine/cast-byval.ll | 31 +++++++++++++++++++
3 files changed, 36 insertions(+), 2 deletions(-)
create mode 100644 llvm/test/Transforms/InstCombine/cast-byval.ll
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
index bc01d2ef7fe2..52596b30494f 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
@@ -3289,6 +3289,10 @@ bool InstCombinerImpl::transformConstExprCastCall(CallBase &Call) {
if (CallerPAL.hasParamAttr(i, Attribute::SwiftError))
return false;
+ if (CallerPAL.hasParamAttr(i, Attribute::ByVal) !=
+ Callee->getAttributes().hasParamAttr(i, Attribute::ByVal))
+ return false; // Cannot transform to or from byval.
+
// If the parameter is passed as a byval argument, then we have to have a
// sized type and the sized type has to have the same size as the old type.
if (ParamTy != ActTy && CallerPAL.hasParamAttr(i, Attribute::ByVal)) {
diff --git a/llvm/test/Transforms/InstCombine/byval.ll b/llvm/test/Transforms/InstCombine/byval.ll
index e62bbe21c806..45750869524b 100644
--- a/llvm/test/Transforms/InstCombine/byval.ll
+++ b/llvm/test/Transforms/InstCombine/byval.ll
@@ -7,8 +7,7 @@ declare void @add_byval_callee_2(double* byval(double))
define void @add_byval(i64* %in) {
; CHECK-LABEL: @add_byval(
-; CHECK-NEXT: [[TMP1:%.*]] = bitcast i64* [[IN:%.*]] to double*
-; CHECK-NEXT: call void @add_byval_callee(double* byval(double) [[TMP1]])
+; CHECK-NEXT: call void bitcast (void (double*)* @add_byval_callee to void (i64*)*)(i64* byval(i64) [[IN:%.*]])
; CHECK-NEXT: ret void
;
%tmp = bitcast void (double*)* @add_byval_callee to void (i64*)*
diff --git a/llvm/test/Transforms/InstCombine/cast-byval.ll b/llvm/test/Transforms/InstCombine/cast-byval.ll
new file mode 100644
index 000000000000..b3e3055837c2
--- /dev/null
+++ b/llvm/test/Transforms/InstCombine/cast-byval.ll
@@ -0,0 +1,31 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; Check that function calls involving conversion from/to byval aren't transformed.
+; RUN: opt < %s -passes=instcombine -S | FileCheck %s
+
+%Foo = type { i64 }
+define i64 @foo (ptr byval(%Foo) %foo) {
+; CHECK-LABEL: @foo(
+; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr [[FOO:%.*]], align 4
+; CHECK-NEXT: ret i64 [[TMP1]]
+;
+ %1 = load i64, ptr %foo, align 4
+ ret i64 %1
+}
+
+define i64 @bar(i64 %0) {
+; CHECK-LABEL: @bar(
+; CHECK-NEXT: [[TMP2:%.*]] = tail call i64 @foo(i64 [[TMP0:%.*]])
+; CHECK-NEXT: ret i64 [[TMP2]]
+;
+ %2 = tail call i64 @foo(i64 %0)
+ ret i64 %2
+}
+
+define i64 @qux(ptr byval(%Foo) %qux) {
+; CHECK-LABEL: @qux(
+; CHECK-NEXT: [[TMP1:%.*]] = tail call i64 @bar(ptr nonnull byval([[FOO:%.*]]) [[QUX:%.*]])
+; CHECK-NEXT: ret i64 [[TMP1]]
+;
+ %1 = tail call i64 @bar(ptr byval(%Foo) %qux)
+ ret i64 %1
+}
--
2.38.1.1.g6d9df9d320

View File

@ -0,0 +1,80 @@
From 55e4e8614971b745551a99a7f04c72634ceeef69 Mon Sep 17 00:00:00 2001
From: Arthur Eubanks <aeubanks@google.com>
Date: Tue, 1 Nov 2022 11:37:10 -0700
Subject: [PATCH] [GlobalOpt] Don't remove inalloca from varargs functions
Varargs and inalloca have a weird interaction where varargs are actually
passed via the inalloca alloca. Removing inalloca breaks the varargs
because they're still not passed as separate arguments.
Fixes #58718
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D137182
---
llvm/lib/Transforms/IPO/GlobalOpt.cpp | 2 +-
.../Transforms/GlobalOpt/inalloca-varargs.ll | 38 +++++++++++++++++++
2 files changed, 39 insertions(+), 1 deletion(-)
create mode 100644 llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
index 6df0409256bb..6fc7b29c5b78 100644
--- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
@@ -2003,7 +2003,7 @@ OptimizeFunctions(Module &M,
// FIXME: We should also hoist alloca affected by this to the entry
// block if possible.
if (F.getAttributes().hasAttrSomewhere(Attribute::InAlloca) &&
- !F.hasAddressTaken() && !hasMustTailCallers(&F)) {
+ !F.hasAddressTaken() && !hasMustTailCallers(&F) && !F.isVarArg()) {
RemoveAttribute(&F, Attribute::InAlloca);
Changed = true;
}
diff --git a/llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll b/llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll
new file mode 100644
index 000000000000..188210782edd
--- /dev/null
+++ b/llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll
@@ -0,0 +1,38 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
+; RUN: opt -passes=globalopt -S < %s | FileCheck %s
+
+define i32 @main(ptr %a) {
+; CHECK-LABEL: define {{[^@]+}}@main
+; CHECK-SAME: (ptr [[A:%.*]]) local_unnamed_addr {
+; CHECK-NEXT: [[ARGMEM:%.*]] = alloca inalloca <{ ptr, i32 }>, align 4
+; CHECK-NEXT: store ptr [[A]], ptr [[ARGMEM]], align 8
+; CHECK-NEXT: [[G0:%.*]] = getelementptr inbounds <{ ptr, i32 }>, ptr [[ARGMEM]], i32 0, i32 1
+; CHECK-NEXT: store i32 5, ptr [[G0]], align 4
+; CHECK-NEXT: [[CALL3:%.*]] = call i32 (ptr, ...) @i(ptr inalloca(ptr) [[ARGMEM]])
+; CHECK-NEXT: ret i32 [[CALL3]]
+;
+ %argmem = alloca inalloca <{ ptr, i32 }>, align 4
+ store ptr %a, ptr %argmem, align 8
+ %g0 = getelementptr inbounds <{ ptr, i32 }>, ptr %argmem, i32 0, i32 1
+ store i32 5, ptr %g0, align 4
+ %call3 = call i32 (ptr, ...) @i(ptr inalloca(ptr) %argmem)
+ ret i32 %call3
+}
+
+define internal i32 @i(ptr inalloca(ptr) %a, ...) {
+; CHECK-LABEL: define {{[^@]+}}@i
+; CHECK-SAME: (ptr inalloca(ptr) [[A:%.*]], ...) unnamed_addr {
+; CHECK-NEXT: [[AP:%.*]] = alloca ptr, align 4
+; CHECK-NEXT: call void @llvm.va_start(ptr [[AP]])
+; CHECK-NEXT: [[ARGP_CUR:%.*]] = load ptr, ptr [[AP]], align 4
+; CHECK-NEXT: [[L:%.*]] = load i32, ptr [[ARGP_CUR]], align 4
+; CHECK-NEXT: ret i32 [[L]]
+;
+ %ap = alloca ptr, align 4
+ call void @llvm.va_start(ptr %ap)
+ %argp.cur = load ptr, ptr %ap, align 4
+ %l = load i32, ptr %argp.cur, align 4
+ ret i32 %l
+}
+
+declare void @llvm.va_start(ptr)
--
2.38.1.1.g6d9df9d320

View File

@ -0,0 +1,57 @@
https://reviews.llvm.org/D118653 added an optional section to the prof
format, such that the output of the `llvm-profdata merge` is not readable
by an older LLVM, such as the one in rustc. Technically speaking,
the compatibility can be preserved, which we do here.
Alternatively, we could revert that change, but other changes have piled
up, making a revert more difficult.
diff --git a/llvm/lib/ProfileData/InstrProfWriter.cpp b/llvm/lib/ProfileData/InstrProfWriter.cpp
index cd4e8900c963..e553d765bad0 100644
--- a/llvm/lib/ProfileData/InstrProfWriter.cpp
+++ b/llvm/lib/ProfileData/InstrProfWriter.cpp
@@ -346,7 +346,9 @@ Error InstrProfWriter::writeImpl(ProfOStream &OS) {
// Write the header.
IndexedInstrProf::Header Header;
Header.Magic = IndexedInstrProf::Magic;
- Header.Version = IndexedInstrProf::ProfVersion::CurrentVersion;
+ Header.Version = static_cast<bool>(ProfileKind & InstrProfKind::MemProf)
+ ? IndexedInstrProf::ProfVersion::CurrentVersion
+ : IndexedInstrProf::ProfVersion::Version7;
if (static_cast<bool>(ProfileKind & InstrProfKind::IRInstrumentation))
Header.Version |= VARIANT_MASK_IR_PROF;
if (static_cast<bool>(ProfileKind & InstrProfKind::ContextSensitive))
@@ -382,7 +384,8 @@ Error InstrProfWriter::writeImpl(ProfOStream &OS) {
uint64_t MemProfSectionOffset = OS.tell();
// Reserve space for the MemProf table field to be patched later if this
// profile contains memory profile information.
- OS.write(0);
+ if (static_cast<bool>(ProfileKind & InstrProfKind::MemProf))
+ OS.write(0);
// Reserve space to write profile summary data.
uint32_t NumEntries = ProfileSummaryBuilder::DefaultCutoffs.size();
@@ -482,8 +485,6 @@ Error InstrProfWriter::writeImpl(ProfOStream &OS) {
PatchItem PatchItems[] = {
// Patch the Header.HashOffset field.
{HashTableStartFieldOffset, &HashTableStart, 1},
- // Patch the Header.MemProfOffset (=0 for profiles without MemProf data).
- {MemProfSectionOffset, &MemProfSectionStart, 1},
// Patch the summary data.
{SummaryOffset, reinterpret_cast<uint64_t *>(TheSummary.get()),
(int)(SummarySize / sizeof(uint64_t))},
@@ -492,6 +493,14 @@ Error InstrProfWriter::writeImpl(ProfOStream &OS) {
OS.patch(PatchItems, sizeof(PatchItems) / sizeof(*PatchItems));
+ if (static_cast<bool>(ProfileKind & InstrProfKind::MemProf)) {
+ PatchItem PatchItems[] = {
+ // Patch the Header.MemProfOffset (=0 for profiles without MemProf
+ // data).
+ {MemProfSectionOffset, &MemProfSectionStart, 1},
+ };
+ OS.patch(PatchItems, sizeof(PatchItems) / sizeof(*PatchItems));
+ }
for (const auto &I : FunctionData)
for (const auto &F : I.getValue())
if (Error E = validateRecord(F.second))

View File

@ -3,3 +3,8 @@ if test `uname -s` = Linux; then
fi
export MACOS_SDK_DIR=$MOZ_FETCHES_DIR/MacOSX11.3.sdk
if [ -n "$TASKCLUSTER_PGO_PROFILE_USE" -a -z "$USE_ARTIFACT" ]; then
# Work around https://github.com/llvm/llvm-project/issues/57734
export LDFLAGS=-Wl,-mllvm,--opaque-pointers
fi

View File

@ -353,6 +353,13 @@ clang-14:
repo: https://github.com/llvm/llvm-project
revision: 4bc1d0b51c8e488d78ab69c8b19cfbcd1f7db6a4
clang-15:
description: clang 15.0.3 source code
fetch:
type: git
repo: https://github.com/llvm/llvm-project
revision: 4a2c05b05ed07f1f620e94f6524a8b4b2760a0b1
clang-trunk:
description: clang main branch source code
attributes:

View File

@ -24,7 +24,7 @@ job-defaults:
- 'build/build-clang/build-clang.py'
fetches:
fetch:
- clang-14
- clang-15
linux64-clang-tidy:
index:
@ -39,7 +39,7 @@ linux64-clang-tidy:
- 'build/build-clang/clang-tidy-linux64.json'
fetches:
toolchain:
- linux64-clang-14
- linux64-clang-15
- linux64-toolchain-sysroot
macosx64-clang-tidy:
@ -57,7 +57,7 @@ macosx64-clang-tidy:
fetches:
toolchain:
- linux64-cctools-port
- linux64-clang-14
- linux64-clang-15
- macosx64-sdk
macosx64-arch64-clang-tidy:
@ -78,7 +78,7 @@ macosx64-arch64-clang-tidy:
fetches:
toolchain:
- linux64-cctools-port
- linux64-clang-14
- linux64-clang-15
- macosx64-sdk
win64-clang-tidy:
@ -128,5 +128,5 @@ linux64-clang-tidy-external:
fetch:
- civet-source
toolchain:
- linux64-clang-14
- linux64-clang-15
- linux64-toolchain-sysroot

View File

@ -32,53 +32,6 @@ linux64-clang-5.0:
toolchain:
- linux64-toolchain-sysroot
linux64-clang-14-mingw-x86:
description: "MinGW-Clang 14 x86 toolchain build"
treeherder:
symbol: TMW(clang-14-x86)
worker-type: b-linux-gcp
run:
script: build-clang-mingw.sh
arguments:
- 'x86'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x86
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
- clang-14
- mingw-w64
- llvm-mingw
- gcc-9.4.0
toolchain:
- linux64-clang-14
linux64-clang-14-mingw-x64:
description: "MinGW-Clang 14 x64 toolchain build"
treeherder:
symbol: TMW(clang-14-x64)
tier: 1
worker-type: b-linux-gcp
run:
script: build-clang-mingw.sh
arguments:
- 'x64'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x64
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
- clang-14
- mingw-w64
- llvm-mingw
- gcc-9.4.0
toolchain:
- linux64-clang-14
linux64-clang-14-stage1:
description: "Clang 14 toolchain build"
treeherder:
@ -94,10 +47,6 @@ linux64-clang-14-stage1:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
@ -105,57 +54,6 @@ linux64-clang-14-stage1:
toolchain:
- linux64-toolchain-sysroot
linux64-clang-14-profile:
description: "Clang 14 toolchain build"
treeherder:
symbol: TL(clang-14-profile)
run:
using: toolchain-script
script: build-clang.sh
arguments:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/skip-stage-1.json'
- 'build/build-clang/profile.json'
resources:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/skip-stage-1.json'
- 'build/build-clang/profile.json'
toolchain-artifact: public/build/merged.profdata
fetches:
fetch:
- clang-14
toolchain:
- linux64-clang-14-stage1
- linux64-x64-compiler-rt-14
- linux64-toolchain-sysroot
linux64-clang-14-raw:
description: "Clang 14 toolchain build"
treeherder:
symbol: TL(clang-14-raw)
run:
script: build-clang.sh
arguments:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
resources:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-14
toolchain:
- linux64-clang-14-stage1
- linux64-clang-14-profile
- linux64-toolchain-sysroot
linux64-clang-14:
description: "Clang 14 toolchain build"
attributes:
@ -167,27 +65,11 @@ linux64-clang-14:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
- linux64-cctools-port
- linux64-clang-14-raw
- android-aarch64-compiler-rt-14
- android-arm-compiler-rt-14
- android-x64-compiler-rt-14
- android-x86-compiler-rt-14
- linux64-aarch64-compiler-rt-14
- linux64-x64-compiler-rt-14
- linux64-x86-compiler-rt-14
- macosx64-aarch64-compiler-rt-14
- macosx64-x64-compiler-rt-14
- wasm32-wasi-compiler-rt-14
- win32-compiler-rt-14
- win64-compiler-rt-14
- linux64-clang-14-stage1
macosx64-clang-14-raw:
description: "Clang 14 toolchain build"
@ -201,13 +83,11 @@ macosx64-clang-14-raw:
arguments:
- 'build/build-clang/macosx64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
- 'build/build-clang/1stage.json'
resources:
- 'build/build-clang/macosx64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
- 'build/build-clang/1stage.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
@ -215,16 +95,201 @@ macosx64-clang-14-raw:
toolchain:
- linux64-cctools-port
- linux64-clang-14-stage1
- linux64-clang-14-profile
- macosx64-sdk
- macosx64-x64-compiler-rt-14
macosx64-clang-14:
description: "Clang 14 toolchain repack with MacOS Compiler RT libs"
linux64-clang-15-mingw-x86:
description: "MinGW-Clang 15 x86 toolchain build"
treeherder:
symbol: TMW(clang-15-x86)
worker-type: b-linux-gcp
run:
script: build-clang-mingw.sh
arguments:
- 'x86'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x86
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
- clang-15
- mingw-w64
- llvm-mingw
- gcc-9.4.0
toolchain:
- linux64-clang-15
linux64-clang-15-mingw-x64:
description: "MinGW-Clang 15 x64 toolchain build"
treeherder:
symbol: TMW(clang-15-x64)
tier: 1
worker-type: b-linux-gcp
run:
script: build-clang-mingw.sh
arguments:
- 'x64'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x64
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
- clang-15
- mingw-w64
- llvm-mingw
- gcc-9.4.0
toolchain:
- linux64-clang-15
linux64-clang-15-stage1:
description: "Clang 15 toolchain build"
treeherder:
symbol: TL(clang-15-stage1)
run:
using: toolchain-script
script: build-clang.sh
arguments:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/1stage.json'
resources:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-15
toolchain:
- linux64-toolchain-sysroot
linux64-clang-15-profile:
description: "Clang 15 toolchain build"
treeherder:
symbol: TL(clang-15-profile)
run:
using: toolchain-script
script: build-clang.sh
arguments:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-stage-1.json'
- 'build/build-clang/profile.json'
resources:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-stage-1.json'
- 'build/build-clang/profile.json'
toolchain-artifact: public/build/merged.profdata
fetches:
fetch:
- clang-15
toolchain:
- linux64-clang-15-stage1
- linux64-x64-compiler-rt-15
- linux64-toolchain-sysroot
linux64-clang-15-raw:
description: "Clang 15 toolchain build"
treeherder:
symbol: TL(clang-15-raw)
run:
script: build-clang.sh
arguments:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
resources:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-15
toolchain:
- linux64-clang-15-stage1
- linux64-clang-15-profile
- linux64-toolchain-sysroot
linux64-clang-15:
description: "Clang 15 toolchain build"
attributes:
local-toolchain: true
treeherder:
symbol: TM(clang-14)
symbol: TL(clang-15)
worker-type: b-linux-gcp
worker:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
- linux64-cctools-port
- linux64-clang-15-raw
- android-aarch64-compiler-rt-15
- android-arm-compiler-rt-15
- android-x64-compiler-rt-15
- android-x86-compiler-rt-15
- linux64-aarch64-compiler-rt-15
- linux64-x64-compiler-rt-15
- linux64-x86-compiler-rt-15
- macosx64-aarch64-compiler-rt-15
- macosx64-x64-compiler-rt-15
- wasm32-wasi-compiler-rt-15
- win32-compiler-rt-15
- win64-compiler-rt-15
macosx64-clang-15-raw:
description: "Clang 15 toolchain build"
treeherder:
symbol: TM(clang-15-raw)
worker-type: b-linux-large-gcp
worker:
max-run-time: 3600
run:
script: build-clang.sh
arguments:
- 'build/build-clang/macosx64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
resources:
- 'build/build-clang/macosx64.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-15
toolchain:
- linux64-cctools-port
- linux64-clang-15-stage1
- linux64-clang-15-profile
- macosx64-sdk
- macosx64-x64-compiler-rt-15
macosx64-clang-15:
description: "Clang 15 toolchain repack with MacOS Compiler RT libs"
attributes:
local-toolchain: true
treeherder:
symbol: TM(clang-15)
worker-type: b-linux-gcp
worker:
max-run-time: 600
@ -240,24 +305,24 @@ macosx64-clang-14:
fetches:
toolchain:
- linux64-cctools-port
- macosx64-clang-14-raw
- android-aarch64-compiler-rt-14
- android-arm-compiler-rt-14
- android-x64-compiler-rt-14
- android-x86-compiler-rt-14
- linux64-aarch64-compiler-rt-14
- linux64-x64-compiler-rt-14
- linux64-x86-compiler-rt-14
- macosx64-aarch64-compiler-rt-14
- macosx64-x64-compiler-rt-14
- wasm32-wasi-compiler-rt-14
- win32-compiler-rt-14
- win64-compiler-rt-14
- macosx64-clang-15-raw
- android-aarch64-compiler-rt-15
- android-arm-compiler-rt-15
- android-x64-compiler-rt-15
- android-x86-compiler-rt-15
- linux64-aarch64-compiler-rt-15
- linux64-x64-compiler-rt-15
- linux64-x86-compiler-rt-15
- macosx64-aarch64-compiler-rt-15
- macosx64-x64-compiler-rt-15
- wasm32-wasi-compiler-rt-15
- win32-compiler-rt-15
- win64-compiler-rt-15
macosx64-aarch64-clang-14-raw:
description: "Clang 14 toolchain build"
macosx64-aarch64-clang-15-raw:
description: "Clang 15 toolchain build"
treeherder:
symbol: TM(clang-14-aarch64-raw)
symbol: TM(clang-15-aarch64-raw)
worker-type: b-linux-large-gcp
worker:
env:
@ -267,31 +332,31 @@ macosx64-aarch64-clang-14-raw:
script: build-clang.sh
arguments:
- 'build/build-clang/macosx64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
resources:
- 'build/build-clang/macosx64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-3-stages.json'
- 'build/build-clang/4stages-pgo.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-cctools-port
- linux64-clang-14-stage1
- linux64-clang-14-profile
- linux64-clang-15-stage1
- linux64-clang-15-profile
- macosx64-sdk
- macosx64-aarch64-compiler-rt-14
- macosx64-aarch64-compiler-rt-15
macosx64-aarch64-clang-14:
description: "Clang 14 toolchain repack with MacOS Compiler RT libs"
macosx64-aarch64-clang-15:
description: "Clang 15 toolchain repack with MacOS Compiler RT libs"
attributes:
local-toolchain: true
treeherder:
symbol: TM(clang-14-aarch64)
symbol: TM(clang-15-aarch64)
worker-type: b-linux-gcp
worker:
max-run-time: 600
@ -305,34 +370,34 @@ macosx64-aarch64-clang-14:
fetches:
toolchain:
- linux64-cctools-port
- macosx64-aarch64-clang-14-raw
- android-aarch64-compiler-rt-14
- android-arm-compiler-rt-14
- android-x64-compiler-rt-14
- android-x86-compiler-rt-14
- linux64-aarch64-compiler-rt-14
- linux64-x64-compiler-rt-14
- linux64-x86-compiler-rt-14
- macosx64-aarch64-compiler-rt-14
- macosx64-x64-compiler-rt-14
- wasm32-wasi-compiler-rt-14
- win32-compiler-rt-14
- win64-compiler-rt-14
- macosx64-aarch64-clang-15-raw
- android-aarch64-compiler-rt-15
- android-arm-compiler-rt-15
- android-x64-compiler-rt-15
- android-x86-compiler-rt-15
- linux64-aarch64-compiler-rt-15
- linux64-x64-compiler-rt-15
- linux64-x86-compiler-rt-15
- macosx64-aarch64-compiler-rt-15
- macosx64-x64-compiler-rt-15
- wasm32-wasi-compiler-rt-15
- win32-compiler-rt-15
- win64-compiler-rt-15
win64-clang-14-stage1:
description: "Clang-cl 14 toolchain build stage 1"
win64-clang-15-stage1:
description: "Clang-cl 15 toolchain build stage 1"
treeherder:
symbol: TW64(clang-14-stage1)
symbol: TW64(clang-15-stage1)
worker-type: b-win2012
run:
script: build-clang.sh
arguments:
- 'build/build-clang/win64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/1stage.json'
resources:
- 'build/build-clang/win64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
@ -341,16 +406,16 @@ win64-clang-14-stage1:
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-14
- clang-15
- cmake
- ninja
toolchain:
- win64-vs2019
win64-clang-14-raw:
description: "Clang-cl 14 toolchain build"
win64-clang-15-raw:
description: "Clang-cl 15 toolchain build"
treeherder:
symbol: TW64(clang-14-raw)
symbol: TW64(clang-15-raw)
worker-type: b-win2012
worker:
max-run-time: 9000
@ -358,31 +423,31 @@ win64-clang-14-raw:
script: build-clang.sh
arguments:
- 'build/build-clang/win64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-stage-1-win64.json'
- 'build/build-clang/4stages-pgo.json'
resources:
- 'build/build-clang/win64.json'
- 'build/build-clang/clang-14.json'
- 'build/build-clang/clang-15.json'
- 'build/build-clang/skip-stage-1-win64.json'
- 'build/build-clang/4stages-pgo.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-14
- clang-15
- cmake
- ninja
toolchain:
- win64-clang-14-stage1
- win64-compiler-rt-14
- win64-clang-15-stage1
- win64-compiler-rt-15
- win64-vs2019
win64-clang-14:
description: "Clang-cl 14 toolchain build"
win64-clang-15:
description: "Clang-cl 15 toolchain build"
attributes:
local-toolchain: true
treeherder:
symbol: TW64(clang-14)
symbol: TW64(clang-15)
worker-type: b-linux-gcp
worker:
max-run-time: 600
@ -396,19 +461,19 @@ win64-clang-14:
fetches:
toolchain:
- linux64-cctools-port
- win64-clang-14-raw
- android-aarch64-compiler-rt-14
- android-arm-compiler-rt-14
- android-x64-compiler-rt-14
- android-x86-compiler-rt-14
- linux64-aarch64-compiler-rt-14
- linux64-x64-compiler-rt-14
- linux64-x86-compiler-rt-14
- macosx64-aarch64-compiler-rt-14
- macosx64-x64-compiler-rt-14
- wasm32-wasi-compiler-rt-14
- win32-compiler-rt-14
- win64-compiler-rt-14
- win64-clang-15-raw
- android-aarch64-compiler-rt-15
- android-arm-compiler-rt-15
- android-x64-compiler-rt-15
- android-x86-compiler-rt-15
- linux64-aarch64-compiler-rt-15
- linux64-x64-compiler-rt-15
- linux64-x86-compiler-rt-15
- macosx64-aarch64-compiler-rt-15
- macosx64-x64-compiler-rt-15
- wasm32-wasi-compiler-rt-15
- win32-compiler-rt-15
- win64-compiler-rt-15
linux64-clang-trunk-mingw-x86:
description: "MinGW-Clang trunk x86 toolchain build"

View File

@ -10,210 +10,210 @@ job-defaults:
using: toolchain-script
script: build-compiler-rt.sh
android-aarch64-compiler-rt-14:
description: "android aarch64 Compiler-rt for Clang 14 toolchain build"
android-aarch64-compiler-rt-15:
description: "android aarch64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TA(aarch64-crt-14)
symbol: TA(aarch64-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- linux64-android-ndk-linux-repack
android-arm-compiler-rt-14:
description: "android arm Compiler-rt for Clang 14 toolchain build"
android-arm-compiler-rt-15:
description: "android arm Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TA(arm-crt-14)
symbol: TA(arm-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- linux64-android-ndk-linux-repack
android-x86-compiler-rt-14:
description: "android x86 Compiler-rt for Clang 14 toolchain build"
android-x86-compiler-rt-15:
description: "android x86 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TA(x86-crt-14)
symbol: TA(x86-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- linux64-android-ndk-linux-repack
android-x64-compiler-rt-14:
description: "android x64 Compiler-rt for Clang 14 toolchain build"
android-x64-compiler-rt-15:
description: "android x64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TA(x64-crt-14)
symbol: TA(x64-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- linux64-android-ndk-linux-repack
linux64-x86-compiler-rt-14:
description: "Linux x86 Compiler-rt for Clang 14 toolchain build"
linux64-x86-compiler-rt-15:
description: "Linux x86 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TL(x86-crt-14)
symbol: TL(x86-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- sysroot-i686-linux-gnu
linux64-x64-compiler-rt-14:
description: "Linux x64 Compiler-rt for Clang 14 toolchain build"
linux64-x64-compiler-rt-15:
description: "Linux x64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TL(x64-crt-14)
symbol: TL(x64-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- sysroot-x86_64-linux-gnu
linux64-aarch64-compiler-rt-14:
description: "Linux aarch64 Compiler-rt for Clang 14 toolchain build"
linux64-aarch64-compiler-rt-15:
description: "Linux aarch64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TL(aarch64-crt-14)
symbol: TL(aarch64-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- sysroot-aarch64-linux-gnu
macosx64-x64-compiler-rt-14:
description: "macOS x64 Compiler-rt for Clang 14 toolchain build"
macosx64-x64-compiler-rt-15:
description: "macOS x64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TM(x64-crt-14)
symbol: TM(x64-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- macosx64-sdk
macosx64-aarch64-compiler-rt-14:
description: "macOS aarch64 Compiler-rt for Clang 14 toolchain build"
macosx64-aarch64-compiler-rt-15:
description: "macOS aarch64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TM(aarch64-crt-14)
symbol: TM(aarch64-crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- macosx64-sdk
win32-compiler-rt-14:
description: "win32 x86 Compiler-rt for Clang 14 toolchain build"
win32-compiler-rt-15:
description: "win32 x86 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TW32(crt-14)
symbol: TW32(crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- linux64-liblowercase
- win64-vs2019
win64-compiler-rt-14:
description: "win64 x64 Compiler-rt for Clang 14 toolchain build"
win64-compiler-rt-15:
description: "win64 x64 Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TW64(crt-14)
symbol: TW64(crt-15)
run:
arguments:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
- linux64-liblowercase
- win64-vs2019
wasm32-wasi-compiler-rt-14:
description: "wasm32-wasi Compiler-rt for Clang 14 toolchain build"
wasm32-wasi-compiler-rt-15:
description: "wasm32-wasi Compiler-rt for Clang 15 toolchain build"
treeherder:
symbol: TL(wasi-crt-14)
symbol: TL(wasi-crt-15)
worker-type: b-linux-xlarge-gcp
run:
script: build-compiler-rt-wasi.sh
@ -221,10 +221,10 @@ wasm32-wasi-compiler-rt-14:
toolchain-alias: wasm32-wasi-compiler-rt
fetches:
fetch:
- clang-14
- clang-15
- wasi-sdk
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
android-aarch64-compiler-rt-trunk:
description: "android aarch64 Compiler-rt for Clang trunk toolchain build"

View File

@ -11,9 +11,9 @@ job-defaults:
toolchain-artifact: public/build/llvm-symbolizer.tar.zst
fetches:
fetch:
- clang-14
- clang-15
toolchain:
- linux64-clang-14-stage1
- linux64-clang-15-stage1
linux64-llvm-symbolizer:
description: "llvm-symbolizer for Linux"
@ -22,9 +22,9 @@ linux64-llvm-symbolizer:
run:
arguments:
- x86_64-unknown-linux-gnu
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
fetches:
toolchain:
@ -37,9 +37,9 @@ macosx64-llvm-symbolizer:
run:
arguments:
- x86_64-apple-darwin
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
fetches:
toolchain:
@ -52,9 +52,9 @@ win64-llvm-symbolizer:
run:
arguments:
- x86_64-pc-windows-msvc
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
resources:
- build/build-clang/clang-14.json
- build/build-clang/clang-15.json
- taskcluster/scripts/misc/build-llvm-common.sh
fetches:
toolchain:

View File

@ -60,22 +60,22 @@ sysroot-x86_64-linux-gnu-x11:
arguments:
- amd64
sysroot-wasm32-wasi-clang-14:
sysroot-wasm32-wasi-clang-15:
description: "Sysroot for wasi"
attributes:
local-toolchain: true
treeherder:
symbol: TL(sysroot-wasi-14)
symbol: TL(sysroot-wasi-15)
run:
script: build-sysroot-wasi.sh
toolchain-alias: sysroot-wasm32-wasi
toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
fetches:
fetch:
- clang-14
- clang-15
- wasi-sdk
toolchain:
- linux64-clang-14
- linux64-clang-15
sysroot-wasm32-wasi-clang-trunk:
description: "Sysroot for wasi"

View File

@ -107,7 +107,7 @@ jobs:
name: public/build/wrench-macos-headless.tar.bz2
path: /builds/worker/artifacts/wrench-macos-headless.tar.bz2
dependencies:
macosx64-clang-14: toolchain-macosx64-clang-14
macosx64-clang-14: toolchain-macosx64-clang-14-raw
fetches:
toolchain:
- linux64-rust-macos

View File

@ -19,7 +19,7 @@ platforms:
# Minimum clang-tidy version that is required for all the following checkers
# to work properly.
# This is also used by 'mach clang-format'
package_version: "14.0.5"
package_version: "15.0.3"
clang_checkers:
- name: -*
publish: !!bool no