Skip to content

Commit 42d6384

Browse files
Merge branch 'main' into breakpoint_change_notif
2 parents 448c161 + fb87708 commit 42d6384

File tree

836 files changed

+38847
-9781
lines changed

Some content is hidden

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

836 files changed

+38847
-9781
lines changed

.github/workflows/containers/github-action-ci-windows/Dockerfile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,45 @@ RUN powershell -Command \
9898
Add-Type -AssemblyName System.IO.Compression.FileSystem ; \
9999
[System.IO.Compression.ZipFile]::ExtractToDirectory('actions-runner-win.zip', $PWD) ;\
100100
rm actions-runner-win.zip
101+
102+
# Set the LLVM_VERSION environment variable
103+
ENV LLVM_VERSION=21.1.2
104+
105+
# Download and extract Clang compiler.
106+
# Create directories, download, extract, and clean up all in one layer
107+
RUN powershell -Command \
108+
# --- Setup directories --- \
109+
Write-Host "Creating directories..."; \
110+
New-Item -Path "C:\temp-download" -ItemType "Directory" -Force ; \
111+
New-Item -Path "C:\xz-utils" -ItemType "Directory" -Force ; \
112+
New-Item -Path "C:\clang" -ItemType "Directory" -Force ; \
113+
# --- 1. Download and extract xz --- \
114+
Set-Location C:\temp-download ; \
115+
Invoke-WebRequest -Uri "http://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1-windows.zip" -OutFile "xz.zip"; \
116+
(Get-FileHash -Path "C:\temp-download\xz.zip" -Algorithm MD5).Hash -eq 'c3c69fdce3e825cc0b76123b36b0bcc2' ; \
117+
Add-Type -AssemblyName "System.IO.Compression.FileSystem"; \
118+
[System.IO.Compression.ZipFile]::ExtractToDirectory('C:\temp-download\xz.zip', 'C:\xz-utils'); \
119+
# --- 2. Download and decompress Clang --- \
120+
Invoke-WebRequest -Uri "http://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.2/clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz" -OutFile "clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz" ; \
121+
(Get-FileHash -Path "C:\temp-download\clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz" -Algorithm MD5).Hash -eq '0ae1d3effd9ab9d323f7fa595777f0a2' ; \
122+
C:\xz-utils\bin_x86-64\xz.exe -d -qq clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz ; \
123+
# --- 3. Extract clang --- \
124+
C:\Windows\System32\tar.exe -xf clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar -C C:\clang ; \
125+
# --- 4. Clean up --- \
126+
Set-Location C:\ ; \
127+
Remove-Item C:\temp-download -Recurse -Force; \
128+
Remove-Item C:\xz-utils -Recurse -Force; \
129+
# -- 5. Shorten path to clang files & remove unnecessary files -- \
130+
Set-Location C:\clang ; \
131+
Rename-Item -Path "C:\clang\clang+llvm-21.1.2-x86_64-pc-windows-msvc" -NewName "C:\clang\clang-msvc" ; \
132+
Set-Location C:\clang\clang-msvc ; \
133+
Remove-Item -Path C:\clang\clang-msvc\libexec -Recurse -Force ; \
134+
Remove-Item -Path C:\clang\clang-msvc\share -Recurse -Force ; \
135+
Rename-Item -Path "C:\clang\clang-msvc\bin" -NewName "C:\clang\clang-msvc\bin-full" ; \
136+
New-Item -Path "C:\clang\clang-msvc\bin" -ItemType Directory -Force ; \
137+
Set-Location C:\clang\clang-msvc\bin ; \
138+
Copy-Item -Path C:\clang\clang-msvc\bin-full\*.dll -Destination C:\clang\clang-msvc\bin\. ; \
139+
Copy-Item -Path C:\clang\clang-msvc\bin-full\clang-cl.exe -Destination C:\clang\clang-msvc\bin\. ; \
140+
Copy-Item -Path C:\clang\clang-msvc\bin-full\lld-link.exe -Destination C:\clang\clang-msvc\bin\. ; \
141+
Set-Location C:\clang\clang-msvc ; \
142+
Remove-Item -Path C:\clang\clang-msvc\bin-full -Recurse -Force ;

.github/workflows/release-binaries.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,12 @@ jobs:
141141
target_cmake_flags="$target_cmake_flags -DBOOTSTRAP_BOOTSTRAP_DARWIN_osx_ARCHS=$arches -DBOOTSTRAP_BOOTSTRAP_DARWIN_osx_BUILTIN_ARCHS=$arches"
142142
fi
143143
144-
build_flang="true"
145-
146144
if [ "$RUNNER_OS" = "Windows" ]; then
147145
# The build times out on Windows, so we need to disable LTO.
148146
target_cmake_flags="$target_cmake_flags -DLLVM_RELEASE_ENABLE_LTO=OFF"
149147
fi
150148
151149
echo "target-cmake-flags=$target_cmake_flags" >> $GITHUB_OUTPUT
152-
echo "build-flang=$build_flang" >> $GITHUB_OUTPUT
153150
case "${{ inputs.runs-on }}" in
154151
ubuntu-22.04*)
155152
build_runs_on="depot-${{ inputs.runs-on }}-16"

clang/include/clang/Basic/BuiltinsHexagon.td

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ class V<string version, VFeatures newer> : VFeatures {
2020
let Features = !strconcat("v", version, "|", newer.Features);
2121
}
2222

23-
let Features = "v79" in def V79 : VFeatures;
23+
let Features = "v81" in def V81 : VFeatures;
2424

25+
def V79 : V<"79", V81>;
2526
def V75 : V<"75", V79>;
2627
def V73 : V<"73", V75>;
2728
def V71 : V<"71", V73>;
@@ -43,8 +44,9 @@ class HVXV<string version, HVXVFeatures newer> : HVXVFeatures {
4344
let Features = !strconcat("hvxv", version, "|", newer.Features);
4445
}
4546

46-
let Features = "hvxv79" in def HVXV79 : HVXVFeatures;
47+
let Features = "hvxv81" in def HVXV81 : HVXVFeatures;
4748

49+
def HVXV79 : HVXV<"79", HVXV81>;
4850
def HVXV75 : HVXV<"75", HVXV79>;
4951
def HVXV73 : HVXV<"73", HVXV75>;
5052
def HVXV71 : HVXV<"71", HVXV73>;

clang/include/clang/Basic/BuiltinsX86.td

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,17 @@ let Features = "sse", Header = "xmmintrin.h", Attributes = [NoThrow, RequireDecl
198198
def _mm_sfence : X86LibBuiltin<"void()">;
199199
}
200200

201+
let Features = "sse", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128>] in {
202+
def shufps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)">;
203+
}
204+
201205
let Features = "sse", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
202206
def rcpps : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
203207
def rcpss : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
204208
def rsqrtps : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
205209
def rsqrtss : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
206210
def sqrtps : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
207211
def sqrtss : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
208-
def shufps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)">;
209212
}
210213

211214
let Features = "sse2", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
@@ -222,13 +225,13 @@ let Features = "sse2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
222225
def pshufhw : X86Builtin<"_Vector<8, short>(_Vector<8, short>, _Constant int)">;
223226
def movmskpd : X86Builtin<"int(_Vector<2, double>)">;
224227
def pmovmskb128 : X86Builtin<"int(_Vector<16, char>)">;
228+
def shufpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)">;
225229
}
226230

227231
let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
228232
def psadbw128 : X86Builtin<"_Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)">;
229233
def sqrtpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>)">;
230234
def sqrtsd : X86Builtin<"_Vector<2, double>(_Vector<2, double>)">;
231-
def shufpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)">;
232235
def cvtpd2dq : X86Builtin<"_Vector<2, long long int>(_Vector<2, double>)">;
233236
def cvtpd2ps : X86Builtin<"_Vector<4, float>(_Vector<2, double>)">;
234237
def cvttpd2dq : X86Builtin<"_Vector<4, int>(_Vector<2, double>)">;
@@ -280,8 +283,6 @@ let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] i
280283
def psllw128 : X86Builtin<"_Vector<8, short>(_Vector<8, short>, _Vector<8, short>)">;
281284
def pslld128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>)">;
282285
def psllq128 : X86Builtin<"_Vector<2, long long int>(_Vector<2, long long int>, _Vector<2, long long int>)">;
283-
def pslldqi128_byteshift : X86Builtin<"_Vector<16, char>(_Vector<16, char>, _Constant int)">;
284-
def psrldqi128_byteshift : X86Builtin<"_Vector<16, char>(_Vector<16, char>, _Constant int)">;
285286
}
286287

287288
let Features = "sse2",
@@ -300,6 +301,9 @@ let Features = "sse2",
300301

301302
def psrawi128 : X86Builtin<"_Vector<8, short>(_Vector<8, short>, int)">;
302303
def psradi128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, int)">;
304+
305+
def pslldqi128_byteshift : X86Builtin<"_Vector<16, char>(_Vector<16, char>, _Constant int)">;
306+
def psrldqi128_byteshift : X86Builtin<"_Vector<16, char>(_Vector<16, char>, _Constant int)">;
303307
}
304308

305309
let Features = "sse3", Attributes = [NoThrow] in {
@@ -487,13 +491,16 @@ let Features = "avx512f,vpclmulqdq", Attributes = [NoThrow, Const, RequiredVecto
487491
def pclmulqdq512 : X86Builtin<"_Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, _Constant char)">;
488492
}
489493

494+
let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256>] in {
495+
def shufpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
496+
def shufps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
497+
}
498+
490499
let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
491500
def vpermilvarpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, long long int>)">;
492501
def vpermilvarps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, int>)">;
493502
def vpermilvarpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, long long int>)">;
494503
def vpermilvarps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, int>)">;
495-
def shufpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
496-
def shufps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
497504
def dpps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)">;
498505
def cmppd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant char)">;
499506
def cmpps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)">;
@@ -607,12 +614,10 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
607614
: X86Builtin<
608615
"_Vector<4, long long int>(_Vector<32, char>, _Vector<32, char>)">;
609616
def psllw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<8, short>)">;
610-
def pslldqi256_byteshift : X86Builtin<"_Vector<32, char>(_Vector<32, char>, _Constant int)">;
611617
def pslld256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<4, int>)">;
612618
def psllq256 : X86Builtin<"_Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)">;
613619
def psraw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<8, short>)">;
614620
def psrad256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<4, int>)">;
615-
def psrldqi256_byteshift : X86Builtin<"_Vector<32, char>(_Vector<32, char>, _Constant int)">;
616621
def psrlw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<8, short>)">;
617622
def psrld256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<4, int>)">;
618623
def psrlq256 : X86Builtin<"_Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)">;
@@ -646,10 +651,12 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
646651
def psllwi256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, int)">;
647652
def pslldi256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, int)">;
648653
def psllqi256 : X86Builtin<"_Vector<4, long long int>(_Vector<4, long long int>, int)">;
654+
def pslldqi256_byteshift : X86Builtin<"_Vector<32, char>(_Vector<32, char>, _Constant int)">;
649655

650656
def psrlwi256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, int)">;
651657
def psrldi256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, int)">;
652658
def psrlqi256 : X86Builtin<"_Vector<4, long long int>(_Vector<4, long long int>, int)">;
659+
def psrldqi256_byteshift : X86Builtin<"_Vector<32, char>(_Vector<32, char>, _Constant int)">;
653660

654661
def psrawi256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, int)">;
655662
def psradi256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, int)">;
@@ -2090,6 +2097,9 @@ let Features = "avx512bw", Attributes = [NoThrow, Const, RequiredVectorWidth<512
20902097
: X86Builtin<"_Vector<32, short>(_Vector<32, short>, _Vector<8, short>)">;
20912098
def psrlw512
20922099
: X86Builtin<"_Vector<32, short>(_Vector<32, short>, _Vector<8, short>)">;
2100+
}
2101+
2102+
let Features = "avx512bw", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512>] in {
20932103
def pslldqi512_byteshift : X86Builtin<"_Vector<64, char>(_Vector<64, char>, _Constant int)">;
20942104
def psrldqi512_byteshift : X86Builtin<"_Vector<64, char>(_Vector<64, char>, _Constant int)">;
20952105
}
@@ -2470,6 +2480,9 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
24702480
def shuf_f64x2 : X86Builtin<"_Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)">;
24712481
def shuf_i32x4 : X86Builtin<"_Vector<16, int>(_Vector<16, int>, _Vector<16, int>, _Constant int)">;
24722482
def shuf_i64x2 : X86Builtin<"_Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, _Constant int)">;
2483+
}
2484+
2485+
let Features = "avx512f", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512>] in {
24732486
def shufpd512 : X86Builtin<"_Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)">;
24742487
def shufps512 : X86Builtin<"_Vector<16, float>(_Vector<16, float>, _Vector<16, float>, _Constant int)">;
24752488
}

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13148,6 +13148,7 @@ def err_riscv_attribute_interrupt_requires_extension : Error<
1314813148
"RISC-V 'interrupt' attribute '%0' requires extension '%1'">;
1314913149
def err_riscv_attribute_interrupt_invalid_combination : Error<
1315013150
"RISC-V 'interrupt' attribute contains invalid combination of interrupt types">;
13151+
def err_riscv_builtin_invalid_twiden : Error<"RISC-V XSfmm twiden must be 1, 2 or 4">;
1315113152

1315213153
def err_std_source_location_impl_not_found : Error<
1315313154
"'std::source_location::__impl' was not found; it must be defined before '__builtin_source_location' is called">;

clang/include/clang/Basic/FileManager.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,12 @@ class FileManager : public RefCountedBase<FileManager> {
287287
/// If path is not absolute and FileSystemOptions set the working
288288
/// directory, the path is modified to be relative to the given
289289
/// working directory.
290-
/// \returns true if \c path changed.
291-
bool FixupRelativePath(SmallVectorImpl<char> &path) const;
290+
/// \returns true if \c Path changed.
291+
bool FixupRelativePath(SmallVectorImpl<char> &Path) const {
292+
return fixupRelativePath(FileSystemOpts, Path);
293+
}
294+
static bool fixupRelativePath(const FileSystemOptions &FileSystemOpts,
295+
SmallVectorImpl<char> &Path);
292296

293297
/// Makes \c Path absolute taking into account FileSystemOptions and the
294298
/// working directory option.

0 commit comments

Comments
 (0)