Skip to content

Commit 5516326

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:b04fe222d212 into amd-gfx:87b16f8ba8b7
Local branch amd-gfx 87b16f8 Merged main:ddb86a378da1 into amd-gfx:05b34903b77d Remote branch main b04fe22 [AArch64][FMV] Add rcpc3 support, introduce bits for features extensi… (llvm#68104)
2 parents 87b16f8 + b04fe22 commit 5516326

File tree

91 files changed

+1744
-1455
lines changed

Some content is hidden

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

91 files changed

+1744
-1455
lines changed

clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ int main(int argc, const char **argv) {
152152
for (auto I = ChangedFiles.begin(), E = ChangedFiles.end(); I != E; ++I) {
153153
OS << " {\n";
154154
OS << " \"FilePath\": \"" << *I << "\",\n";
155-
const auto Entry = FileMgr.getFile(*I);
156-
auto ID = Sources.getOrCreateFileID(*Entry, SrcMgr::C_User);
155+
auto Entry = llvm::cantFail(FileMgr.getFileRef(*I));
156+
auto ID = Sources.getOrCreateFileID(Entry, SrcMgr::C_User);
157157
std::string Content;
158158
llvm::raw_string_ostream ContentStream(Content);
159159
Rewrite.getEditBuffer(ID).write(ContentStream);
@@ -170,9 +170,9 @@ int main(int argc, const char **argv) {
170170
}
171171

172172
for (const auto &File : ChangedFiles) {
173-
const auto Entry = FileMgr.getFile(File);
173+
auto Entry = llvm::cantFail(FileMgr.getFileRef(File));
174174

175-
auto ID = Sources.getOrCreateFileID(*Entry, SrcMgr::C_User);
175+
auto ID = Sources.getOrCreateFileID(Entry, SrcMgr::C_User);
176176
outs() << "============== " << File << " ==============\n";
177177
Rewrite.getEditBuffer(ID).write(llvm::outs());
178178
outs() << "\n============================================\n";

clang-tools-extra/clang-move/Move.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -843,7 +843,7 @@ void ClangMoveTool::moveDeclsToNewFiles() {
843843
// Move all contents from OldFile to NewFile.
844844
void ClangMoveTool::moveAll(SourceManager &SM, StringRef OldFile,
845845
StringRef NewFile) {
846-
auto FE = SM.getFileManager().getFile(makeAbsolutePath(OldFile));
846+
auto FE = SM.getFileManager().getOptionalFileRef(makeAbsolutePath(OldFile));
847847
if (!FE) {
848848
llvm::errs() << "Failed to get file: " << OldFile << "\n";
849849
return;

clang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ int main(int argc, const char **argv) {
8484
Tool.applyAllReplacements(Rewrite);
8585

8686
for (const auto &File : Files) {
87-
auto Entry = FileMgr.getFile(File);
88-
const auto ID = Sources.getOrCreateFileID(*Entry, SrcMgr::C_User);
87+
auto Entry = llvm::cantFail(FileMgr.getFileRef(File));
88+
const auto ID = Sources.getOrCreateFileID(Entry, SrcMgr::C_User);
8989
Rewrite.getEditBuffer(ID).write(outs());
9090
}
9191

clang-tools-extra/clang-tidy/ClangTidy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ class ErrorReporter {
243243
if (FilePath.empty())
244244
return {};
245245

246-
auto File = SourceMgr.getFileManager().getFile(FilePath);
246+
auto File = SourceMgr.getFileManager().getOptionalFileRef(FilePath);
247247
if (!File)
248248
return {};
249249

clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@ DiagnosticBuilder ClangTidyContext::diag(
194194

195195
DiagnosticBuilder ClangTidyContext::diag(const tooling::Diagnostic &Error) {
196196
SourceManager &SM = DiagEngine->getSourceManager();
197-
llvm::ErrorOr<const FileEntry *> File =
198-
SM.getFileManager().getFile(Error.Message.FilePath);
199-
FileID ID = SM.getOrCreateFileID(*File, SrcMgr::C_User);
197+
FileManager &FM = SM.getFileManager();
198+
FileEntryRef File = llvm::cantFail(FM.getFileRef(Error.Message.FilePath));
199+
FileID ID = SM.getOrCreateFileID(File, SrcMgr::C_User);
200200
SourceLocation FileStartLoc = SM.getLocForStartOfFile(ID);
201201
SourceLocation Loc = FileStartLoc.getLocWithOffset(
202202
static_cast<SourceLocation::IntTy>(Error.Message.FileOffset));

clang/docs/ReleaseNotes.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ Improvements to Clang's diagnostics
219219
- Clang now displays an improved diagnostic and a note when a defaulted special
220220
member is marked ``constexpr`` in a class with a virtual base class
221221
(`#64843: <https://github.com/llvm/llvm-project/issues/64843>`_).
222+
- ``-Wfixed-enum-extension`` and ``-Wmicrosoft-fixed-enum`` diagnostics are no longer
223+
emitted when building as C23, since C23 standardizes support for enums with a
224+
fixed underlying type.
222225

223226
Bug Fixes in This Version
224227
-------------------------

clang/include/clang/Basic/DiagnosticIDs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace clang {
3131
// Size of each of the diagnostic categories.
3232
enum {
3333
DIAG_SIZE_COMMON = 300,
34-
DIAG_SIZE_DRIVER = 300,
34+
DIAG_SIZE_DRIVER = 400,
3535
DIAG_SIZE_FRONTEND = 150,
3636
DIAG_SIZE_SERIALIZATION = 120,
3737
DIAG_SIZE_LEX = 400,

clang/include/clang/Basic/FileEntry.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,6 @@ class FileEntry {
426426
public:
427427
~FileEntry();
428428
StringRef getName() const { return LastRef->getName(); }
429-
FileEntryRef getLastRef() const { return *LastRef; }
430429

431430
StringRef tryGetRealPathName() const { return RealPathName; }
432431
off_t getSize() const { return Size; }

clang/include/clang/Basic/SourceManager.h

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -877,13 +877,6 @@ class SourceManager : public RefCountedBase<SourceManager> {
877877

878878
/// Create a new FileID that represents the specified file
879879
/// being \#included from the specified IncludePosition.
880-
///
881-
/// This translates NULL into standard input.
882-
FileID createFileID(const FileEntry *SourceFile, SourceLocation IncludePos,
883-
SrcMgr::CharacteristicKind FileCharacter,
884-
int LoadedID = 0,
885-
SourceLocation::UIntTy LoadedOffset = 0);
886-
887880
FileID createFileID(FileEntryRef SourceFile, SourceLocation IncludePos,
888881
SrcMgr::CharacteristicKind FileCharacter,
889882
int LoadedID = 0,
@@ -909,7 +902,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
909902

910903
/// Get the FileID for \p SourceFile if it exists. Otherwise, create a
911904
/// new FileID for the \p SourceFile.
912-
FileID getOrCreateFileID(const FileEntry *SourceFile,
905+
FileID getOrCreateFileID(FileEntryRef SourceFile,
913906
SrcMgr::CharacteristicKind FileCharacter);
914907

915908
/// Creates an expansion SLocEntry for the substitution of an argument into a

clang/lib/Basic/SourceManager.cpp

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -527,17 +527,6 @@ FileID SourceManager::getNextFileID(FileID FID) const {
527527

528528
/// Create a new FileID that represents the specified file
529529
/// being \#included from the specified IncludePosition.
530-
///
531-
/// This translates NULL into standard input.
532-
FileID SourceManager::createFileID(const FileEntry *SourceFile,
533-
SourceLocation IncludePos,
534-
SrcMgr::CharacteristicKind FileCharacter,
535-
int LoadedID,
536-
SourceLocation::UIntTy LoadedOffset) {
537-
return createFileID(SourceFile->getLastRef(), IncludePos, FileCharacter,
538-
LoadedID, LoadedOffset);
539-
}
540-
541530
FileID SourceManager::createFileID(FileEntryRef SourceFile,
542531
SourceLocation IncludePos,
543532
SrcMgr::CharacteristicKind FileCharacter,
@@ -585,7 +574,7 @@ FileID SourceManager::createFileID(const llvm::MemoryBufferRef &Buffer,
585574
/// Get the FileID for \p SourceFile if it exists. Otherwise, create a
586575
/// new FileID for the \p SourceFile.
587576
FileID
588-
SourceManager::getOrCreateFileID(const FileEntry *SourceFile,
577+
SourceManager::getOrCreateFileID(FileEntryRef SourceFile,
589578
SrcMgr::CharacteristicKind FileCharacter) {
590579
FileID ID = translateFile(SourceFile);
591580
return ID.isValid() ? ID : createFileID(SourceFile, SourceLocation(),
@@ -2375,8 +2364,9 @@ SourceManagerForFile::SourceManagerForFile(StringRef FileName,
23752364
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs),
23762365
new DiagnosticOptions);
23772366
SourceMgr = std::make_unique<SourceManager>(*Diagnostics, *FileMgr);
2378-
FileID ID = SourceMgr->createFileID(*FileMgr->getFile(FileName),
2379-
SourceLocation(), clang::SrcMgr::C_User);
2367+
FileEntryRef FE = llvm::cantFail(FileMgr->getFileRef(FileName));
2368+
FileID ID =
2369+
SourceMgr->createFileID(FE, SourceLocation(), clang::SrcMgr::C_User);
23802370
assert(ID.isValid());
23812371
SourceMgr->setMainFileID(ID);
23822372
}

clang/lib/Parse/ParseDecl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5009,7 +5009,7 @@ void Parser::ParseEnumSpecifier(SourceLocation StartLoc, DeclSpec &DS,
50095009

50105010
BaseRange = SourceRange(ColonLoc, DeclaratorInfo.getSourceRange().getEnd());
50115011

5012-
if (!getLangOpts().ObjC) {
5012+
if (!getLangOpts().ObjC && !getLangOpts().C23) {
50135013
if (getLangOpts().CPlusPlus11)
50145014
Diag(ColonLoc, diag::warn_cxx98_compat_enum_fixed_underlying_type)
50155015
<< BaseRange;

clang/lib/Tooling/Core/Replacement.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ bool Replacement::isApplicable() const {
6767

6868
bool Replacement::apply(Rewriter &Rewrite) const {
6969
SourceManager &SM = Rewrite.getSourceMgr();
70-
auto Entry = SM.getFileManager().getFile(FilePath);
70+
auto Entry = SM.getFileManager().getOptionalFileRef(FilePath);
7171
if (!Entry)
7272
return false;
7373

clang/lib/Tooling/Refactoring.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,7 @@ bool formatAndApplyAllReplacements(
7878
const std::string &FilePath = FileAndReplaces.first;
7979
auto &CurReplaces = FileAndReplaces.second;
8080

81-
const FileEntry *Entry = nullptr;
82-
if (auto File = Files.getFile(FilePath))
83-
Entry = *File;
84-
81+
FileEntryRef Entry = llvm::cantFail(Files.getFileRef(FilePath));
8582
FileID ID = SM.getOrCreateFileID(Entry, SrcMgr::C_User);
8683
StringRef Code = SM.getBufferData(ID);
8784

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-unknown-unknown -emit-llvm -o - | FileCheck %s
2-
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-unknown-unknown -emit-llvm -o - | FileCheck %s
1+
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-unknown-unknown -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
2+
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-unknown-unknown -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
33

44
// PR33722
5-
// RUN: %clang_cc1 -x c -ffreestanding %s -triple x86_64-unknown-unknown -fms-extensions -fms-compatibility-version=19.00 -emit-llvm -o - | FileCheck %s
6-
// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple x86_64-unknown-unknown -fms-extensions -fms-compatibility-version=19.00 -emit-llvm -o - | FileCheck %s
5+
// RUN: %clang_cc1 -x c -ffreestanding %s -triple x86_64-unknown-unknown -fms-extensions -fms-compatibility-version=19.00 -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
6+
// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple x86_64-unknown-unknown -fms-extensions -fms-compatibility-version=19.00 -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
77

88
#include <x86intrin.h>
99

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +popcnt -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,CHECK-POPCNT
2-
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +popcnt -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,CHECK-POPCNT
3-
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -emit-llvm -o - | FileCheck %s
4-
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-apple-darwin -emit-llvm -o - | FileCheck %s
1+
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +popcnt -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,CHECK-POPCNT
2+
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +popcnt -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,CHECK-POPCNT
3+
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
4+
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-apple-darwin -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
55

66
#include <x86intrin.h>
77

clang/test/CodeGen/X86/rot-intrinsics.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
// RUN: %clang_cc1 -x c -ffreestanding -triple i686--linux -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
2-
// RUN: %clang_cc1 -x c -ffreestanding -triple x86_64--linux -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-64BIT-LONG
3-
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
4-
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
5-
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
6-
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
7-
8-
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding -triple i686--linux -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
9-
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding -triple x86_64--linux -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-64BIT-LONG
10-
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
11-
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
12-
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
13-
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
1+
// RUN: %clang_cc1 -x c -ffreestanding -triple i686--linux -no-enable-noundef-analysis -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
2+
// RUN: %clang_cc1 -x c -ffreestanding -triple x86_64--linux -no-enable-noundef-analysis -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-64BIT-LONG
3+
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
4+
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
5+
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
6+
// RUN: %clang_cc1 -x c -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
7+
8+
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding -triple i686--linux -no-enable-noundef-analysis -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
9+
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding -triple x86_64--linux -no-enable-noundef-analysis -emit-llvm %s -o - | FileCheck %s --check-prefixes CHECK,CHECK-64BIT-LONG
10+
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
11+
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
12+
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=i686-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
13+
// RUN: %clang_cc1 -x c++ -std=c++11 -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -ffreestanding %s -triple=x86_64-windows-msvc -target-feature +sse2 -no-enable-noundef-analysis -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes CHECK,CHECK-32BIT-LONG
1414

1515
#include <x86intrin.h>
1616

clang/test/CodeGen/X86/x86-bswap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -emit-llvm -o - | FileCheck %s
2-
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-apple-darwin -emit-llvm -o - | FileCheck %s
1+
// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
2+
// RUN: %clang_cc1 -x c++ -std=c++11 -ffreestanding %s -triple=x86_64-apple-darwin -no-enable-noundef-analysis -emit-llvm -o - | FileCheck %s
33

44
#include <x86intrin.h>
55

clang/test/CodeGen/aarch64-ls64.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ EXTERN_C void test_st64b(void)
206206
// CHECK-CXX-NEXT: [[TMP14:%.*]] = load i64, ptr [[TMP13]], align 8
207207
// CHECK-CXX-NEXT: [[TMP15:%.*]] = getelementptr i64, ptr [[AGG_TMP]], i32 7
208208
// CHECK-CXX-NEXT: [[TMP16:%.*]] = load i64, ptr [[TMP15]], align 8
209-
// CHECK-CXX-NEXT: [[TMP17:%.*]] = call i64 @llvm.aarch64.st64bv(ptr [[TMP1]], i64 [[TMP2]], i64 [[TMP4]], i64 [[TMP6]], i64 [[TMP8]], i64 [[TMP10]], i64 [[TMP12]], i64 [[TMP14]], i64 [[TMP16]])
209+
// CHECK-CXX-NEXT: [[TMP17:%.*]] = call noundef i64 @llvm.aarch64.st64bv(ptr [[TMP1]], i64 [[TMP2]], i64 [[TMP4]], i64 [[TMP6]], i64 [[TMP8]], i64 [[TMP10]], i64 [[TMP12]], i64 [[TMP14]], i64 [[TMP16]])
210210
// CHECK-CXX-NEXT: store i64 [[TMP17]], ptr @status, align 8
211211
// CHECK-CXX-NEXT: ret void
212212
//
@@ -269,7 +269,7 @@ EXTERN_C void test_st64bv(void)
269269
// CHECK-CXX-NEXT: [[TMP14:%.*]] = load i64, ptr [[TMP13]], align 8
270270
// CHECK-CXX-NEXT: [[TMP15:%.*]] = getelementptr i64, ptr [[AGG_TMP]], i32 7
271271
// CHECK-CXX-NEXT: [[TMP16:%.*]] = load i64, ptr [[TMP15]], align 8
272-
// CHECK-CXX-NEXT: [[TMP17:%.*]] = call i64 @llvm.aarch64.st64bv0(ptr [[TMP1]], i64 [[TMP2]], i64 [[TMP4]], i64 [[TMP6]], i64 [[TMP8]], i64 [[TMP10]], i64 [[TMP12]], i64 [[TMP14]], i64 [[TMP16]])
272+
// CHECK-CXX-NEXT: [[TMP17:%.*]] = call noundef i64 @llvm.aarch64.st64bv0(ptr [[TMP1]], i64 [[TMP2]], i64 [[TMP4]], i64 [[TMP6]], i64 [[TMP8]], i64 [[TMP10]], i64 [[TMP12]], i64 [[TMP14]], i64 [[TMP16]])
273273
// CHECK-CXX-NEXT: store i64 [[TMP17]], ptr @status, align 8
274274
// CHECK-CXX-NEXT: ret void
275275
//

0 commit comments

Comments
 (0)