-
Notifications
You must be signed in to change notification settings - Fork 15.2k
unittests: Convert some tests to opaque pointers #167443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unittests: Convert some tests to opaque pointers #167443
Conversation
|
@llvm/pr-subscribers-llvm-analysis @llvm/pr-subscribers-mlgo Author: Matt Arsenault (arsenm) ChangesPatch is 101.69 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/167443.diff 25 Files Affected:
diff --git a/llvm/unittests/Analysis/AliasAnalysisTest.cpp b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
index 06066b1b92c51..a28d318ab32c8 100644
--- a/llvm/unittests/Analysis/AliasAnalysisTest.cpp
+++ b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
@@ -232,18 +232,18 @@ TEST_F(AliasAnalysisTest, BatchAAPhiCycles) {
LLVMContext C;
SMDiagnostic Err;
std::unique_ptr<Module> M = parseAssemblyString(R"(
- define void @f(i8* noalias %a, i1 %c) {
+ define void @f(ptr noalias %a, i1 %c) {
entry:
br label %loop
loop:
- %phi = phi i8* [ null, %entry ], [ %a2, %loop ]
+ %phi = phi ptr [ null, %entry ], [ %a2, %loop ]
%offset1 = phi i64 [ 0, %entry ], [ %offset2, %loop]
%offset2 = add i64 %offset1, 1
- %a1 = getelementptr i8, i8* %a, i64 %offset1
- %a2 = getelementptr i8, i8* %a, i64 %offset2
- %s1 = select i1 %c, i8* %a1, i8* %phi
- %s2 = select i1 %c, i8* %a2, i8* %a1
+ %a1 = getelementptr i8, ptr %a, i64 %offset1
+ %a2 = getelementptr i8, ptr %a, i64 %offset2
+ %s1 = select i1 %c, ptr %a1, ptr %phi
+ %s2 = select i1 %c, ptr %a2, ptr %a1
br label %loop
}
)", Err, C);
@@ -280,15 +280,15 @@ TEST_F(AliasAnalysisTest, BatchAAPhiAssumption) {
LLVMContext C;
SMDiagnostic Err;
std::unique_ptr<Module> M = parseAssemblyString(R"(
- define void @f(i8* %a.base, i8* %b.base, i1 %c) {
+ define void @f(ptr %a.base, ptr %b.base, i1 %c) {
entry:
br label %loop
loop:
- %a = phi i8* [ %a.next, %loop ], [ %a.base, %entry ]
- %b = phi i8* [ %b.next, %loop ], [ %b.base, %entry ]
- %a.next = getelementptr i8, i8* %a, i64 1
- %b.next = getelementptr i8, i8* %b, i64 1
+ %a = phi ptr [ %a.next, %loop ], [ %a.base, %entry ]
+ %b = phi ptr [ %b.next, %loop ], [ %b.base, %entry ]
+ %a.next = getelementptr i8, ptr %a, i64 1
+ %b.next = getelementptr i8, ptr %b, i64 1
br label %loop
}
)", Err, C);
@@ -318,16 +318,16 @@ TEST_F(AliasAnalysisTest, PartialAliasOffset) {
LLVMContext C;
SMDiagnostic Err;
std::unique_ptr<Module> M = parseAssemblyString(R"(
- define void @foo(float* %arg, i32 %i) {
+ define void @foo(ptr %arg, i32 %i) {
bb:
%i2 = zext i32 %i to i64
- %i3 = getelementptr inbounds float, float* %arg, i64 %i2
- %i4 = bitcast float* %i3 to <2 x float>*
- %L1 = load <2 x float>, <2 x float>* %i4, align 16
+ %i3 = getelementptr inbounds float, ptr %arg, i64 %i2
+ %i4 = bitcast ptr %i3 to ptr
+ %L1 = load <2 x float>, ptr %i4, align 16
%i7 = add nuw nsw i32 %i, 1
%i8 = zext i32 %i7 to i64
- %i9 = getelementptr inbounds float, float* %arg, i64 %i8
- %L2 = load float, float* %i9, align 4
+ %i9 = getelementptr inbounds float, ptr %arg, i64 %i8
+ %L2 = load float, ptr %i9, align 4
ret void
}
)",
@@ -353,11 +353,11 @@ TEST_F(AliasAnalysisTest, PartialAliasOffsetSign) {
LLVMContext C;
SMDiagnostic Err;
std::unique_ptr<Module> M = parseAssemblyString(R"(
- define void @f(i64* %p) {
- %L1 = load i64, i64* %p
- %p.i8 = bitcast i64* %p to i8*
- %q = getelementptr i8, i8* %p.i8, i32 1
- %L2 = load i8, i8* %q
+ define void @f(ptr %p) {
+ %L1 = load i64, ptr %p
+ %p.i8 = bitcast ptr %p to ptr
+ %q = getelementptr i8, ptr %p.i8, i32 1
+ %L2 = load i8, ptr %q
ret void
}
)",
@@ -388,10 +388,10 @@ class AAPassInfraTest : public testing::Test {
public:
AAPassInfraTest()
- : M(parseAssemblyString("define i32 @f(i32* %x, i32* %y) {\n"
+ : M(parseAssemblyString("define i32 @f(ptr %x, ptr %y) {\n"
"entry:\n"
- " %lx = load i32, i32* %x\n"
- " %ly = load i32, i32* %y\n"
+ " %lx = load i32, ptr %x\n"
+ " %ly = load i32, ptr %y\n"
" %sum = add i32 %lx, %ly\n"
" ret i32 %sum\n"
"}\n",
diff --git a/llvm/unittests/Analysis/AliasSetTrackerTest.cpp b/llvm/unittests/Analysis/AliasSetTrackerTest.cpp
index e784e6eefb79c..b5adc84185c96 100644
--- a/llvm/unittests/Analysis/AliasSetTrackerTest.cpp
+++ b/llvm/unittests/Analysis/AliasSetTrackerTest.cpp
@@ -26,13 +26,13 @@ TEST(AliasSetTracker, AliasUnknownInst) {
; Function Attrs: nounwind ssp uwtable
define i32 @read_a() #0 {
- %1 = load i32, i32* @a, align 4, !tbaa !3
+ %1 = load i32, ptr @a, align 4, !tbaa !3
ret i32 %1
}
; Function Attrs: nounwind ssp uwtable
define void @write_b() #0 {
- store float 1.000000e+01, float* @b, align 4, !tbaa !7
+ store float 1.000000e+01, ptr @b, align 4, !tbaa !7
ret void
}
@@ -72,7 +72,7 @@ TEST(AliasSetTracker, AliasUnknownInst) {
AliasSetTracker AST(BAA);
for (auto &BB : *Test)
AST.add(BB);
- // There should be 2 disjoint alias sets. 1 from each call.
+ // There should be 2 disjoint alias sets. 1 from each call.
ASSERT_EQ((int)AST.getAliasSets().size(), 2);
// Directly test aliasesUnknownInst.
diff --git a/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp b/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
index 5fd2ecc4f29b6..921e2aa8cd30b 100644
--- a/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
+++ b/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
@@ -74,18 +74,18 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
EnableKnowledgeRetention.setValue(true);
StringRef Head =
"declare void @llvm.assume(i1)\n"
- "declare void @func(i32*, i32*, i32*)\n"
- "declare void @func1(i32*, i32*, i32*, i32*)\n"
- "declare void @func_many(i32*) \"no-jump-tables\" nounwind "
+ "declare void @func(ptr, ptr, ptr)\n"
+ "declare void @func1(ptr, ptr, ptr, ptr)\n"
+ "declare void @func_many(ptr) \"no-jump-tables\" nounwind "
"\"less-precise-fpmad\" willreturn norecurse\n"
- "define void @test(i32* %P, i32* %P1, i32* %P2, i32* %P3) {\n";
+ "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3) {\n";
StringRef Tail = "ret void\n"
"}";
std::vector<std::pair<StringRef, llvm::function_ref<void(Instruction *)>>>
Tests;
Tests.push_back(std::make_pair(
- "call void @func(i32* nonnull align 4 dereferenceable(16) %P, i32* align "
- "8 noalias %P1, i32* align 8 noundef %P2)\n",
+ "call void @func(ptr nonnull align 4 dereferenceable(16) %P, ptr align "
+ "8 noalias %P1, ptr align 8 noundef %P2)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -103,11 +103,11 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
Attribute::AttrKind::Alignment, 4));
}));
Tests.push_back(std::make_pair(
- "call void @func1(i32* nonnull align 32 dereferenceable(48) %P, i32* "
+ "call void @func1(ptr nonnull align 32 dereferenceable(48) %P, ptr "
"nonnull "
- "align 8 dereferenceable(28) %P, i32* nonnull align 64 "
+ "align 8 dereferenceable(28) %P, ptr nonnull align 64 "
"dereferenceable(4) "
- "%P, i32* nonnull align 16 dereferenceable(12) %P)\n",
+ "%P, ptr nonnull align 16 dereferenceable(12) %P)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -127,7 +127,7 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
Attribute::AttrKind::Alignment, 64));
}));
Tests.push_back(std::make_pair(
- "call void @func_many(i32* align 8 noundef %P1) cold\n", [](Instruction *I) {
+ "call void @func_many(ptr align 8 noundef %P1) cold\n", [](Instruction *I) {
ShouldPreserveAllAttributes.setValue(true);
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -142,11 +142,11 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
ASSERT_TRUE(hasMatchesExactlyAttributes(Assume, nullptr, ""));
}));
Tests.push_back(std::make_pair(
- "call void @func1(i32* readnone align 32 "
- "dereferenceable(48) noalias %P, i32* "
- "align 8 dereferenceable(28) %P1, i32* align 64 "
+ "call void @func1(ptr readnone align 32 "
+ "dereferenceable(48) noalias %P, ptr "
+ "align 8 dereferenceable(28) %P1, ptr align 64 "
"dereferenceable(4) "
- "%P2, i32* nonnull align 16 dereferenceable(12) %P3)\n",
+ "%P2, ptr nonnull align 16 dereferenceable(12) %P3)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -178,11 +178,11 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
}));
Tests.push_back(std::make_pair(
- "call void @func1(i32* readnone align 32 "
- "dereferenceable(48) noalias %P, i32* "
- "align 8 dereferenceable(28) %P1, i32* align 64 "
+ "call void @func1(ptr readnone align 32 "
+ "dereferenceable(48) noalias %P, ptr "
+ "align 8 dereferenceable(28) %P1, ptr align 64 "
"dereferenceable(4) "
- "%P2, i32* nonnull align 16 dereferenceable(12) %P3)\n",
+ "%P2, ptr nonnull align 16 dereferenceable(12) %P3)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -204,8 +204,8 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
Attribute::AttrKind::Dereferenceable, 48));
}));
Tests.push_back(std::make_pair(
- "call void @func(i32* nonnull align 4 dereferenceable(16) %P, i32* align "
- "8 noalias %P1, i32* %P1)\n",
+ "call void @func(ptr nonnull align 4 dereferenceable(16) %P, ptr align "
+ "8 noalias %P1, ptr %P1)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -251,18 +251,18 @@ TEST(AssumeQueryAPI, fillMapFromAssume) {
EnableKnowledgeRetention.setValue(true);
StringRef Head =
"declare void @llvm.assume(i1)\n"
- "declare void @func(i32*, i32*, i32*)\n"
- "declare void @func1(i32*, i32*, i32*, i32*)\n"
- "declare void @func_many(i32*) \"no-jump-tables\" nounwind "
+ "declare void @func(ptr, ptr, ptr)\n"
+ "declare void @func1(ptr, ptr, ptr, ptr)\n"
+ "declare void @func_many(ptr) \"no-jump-tables\" nounwind "
"\"less-precise-fpmad\" willreturn norecurse\n"
- "define void @test(i32* %P, i32* %P1, i32* %P2, i32* %P3) {\n";
+ "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3) {\n";
StringRef Tail = "ret void\n"
"}";
std::vector<std::pair<StringRef, llvm::function_ref<void(Instruction *)>>>
Tests;
Tests.push_back(std::make_pair(
- "call void @func(i32* nonnull align 4 dereferenceable(16) %P, i32* align "
- "8 noalias %P1, i32* align 8 dereferenceable(8) %P2)\n",
+ "call void @func(ptr nonnull align 4 dereferenceable(16) %P, ptr align "
+ "8 noalias %P1, ptr align 8 dereferenceable(8) %P2)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -283,11 +283,11 @@ TEST(AssumeQueryAPI, fillMapFromAssume) {
{4, 4}));
}));
Tests.push_back(std::make_pair(
- "call void @func1(i32* nonnull align 32 dereferenceable(48) %P, i32* "
+ "call void @func1(ptr nonnull align 32 dereferenceable(48) %P, ptr "
"nonnull "
- "align 8 dereferenceable(28) %P, i32* nonnull align 64 "
+ "align 8 dereferenceable(28) %P, ptr nonnull align 64 "
"dereferenceable(4) "
- "%P, i32* nonnull align 16 dereferenceable(12) %P)\n",
+ "%P, ptr nonnull align 16 dereferenceable(12) %P)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -310,7 +310,7 @@ TEST(AssumeQueryAPI, fillMapFromAssume) {
Map, Assume, {I->getOperand(0), Attribute::Alignment}, {64, 64}));
}));
Tests.push_back(std::make_pair(
- "call void @func_many(i32* align 8 %P1) cold\n", [](Instruction *I) {
+ "call void @func_many(ptr align 8 %P1) cold\n", [](Instruction *I) {
ShouldPreserveAllAttributes.setValue(true);
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -331,11 +331,11 @@ TEST(AssumeQueryAPI, fillMapFromAssume) {
ASSERT_TRUE(Map.empty());
}));
Tests.push_back(std::make_pair(
- "call void @func1(i32* readnone align 32 "
- "dereferenceable(48) noalias %P, i32* "
- "align 8 dereferenceable(28) %P1, i32* align 64 "
+ "call void @func1(ptr readnone align 32 "
+ "dereferenceable(48) noalias %P, ptr "
+ "align 8 dereferenceable(28) %P1, ptr align 64 "
"dereferenceable(4) "
- "%P2, i32* nonnull align 16 dereferenceable(12) %P3)\n",
+ "%P2, ptr nonnull align 16 dereferenceable(12) %P3)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -371,8 +371,8 @@ TEST(AssumeQueryAPI, fillMapFromAssume) {
/// Keep this test last as it modifies the function.
Tests.push_back(std::make_pair(
- "call void @func(i32* nonnull align 4 dereferenceable(16) %P, i32* align "
- "8 noalias %P1, i32* %P2)\n",
+ "call void @func(ptr nonnull align 4 dereferenceable(16) %P, ptr align "
+ "8 noalias %P1, ptr %P2)\n",
[](Instruction *I) {
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -507,11 +507,11 @@ TEST(AssumeQueryAPI, AssumptionCache) {
SMDiagnostic Err;
std::unique_ptr<Module> Mod = parseAssemblyString(
"declare void @llvm.assume(i1)\n"
- "define void @test(i32* %P, i32* %P1, i32* %P2, i32* %P3, i1 %B) {\n"
- "call void @llvm.assume(i1 true) [\"nonnull\"(i32* %P), \"align\"(i32* "
- "%P2, i32 4), \"align\"(i32* %P, i32 8)]\n"
- "call void @llvm.assume(i1 %B) [\"test\"(i32* %P1), "
- "\"dereferenceable\"(i32* %P, i32 4)]\n"
+ "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3, i1 %B) {\n"
+ "call void @llvm.assume(i1 true) [\"nonnull\"(ptr %P), \"align\"(ptr "
+ "%P2, i32 4), \"align\"(ptr %P, i32 8)]\n"
+ "call void @llvm.assume(i1 %B) [\"test\"(ptr %P1), "
+ "\"dereferenceable\"(ptr %P, i32 4)]\n"
"ret void\n}\n",
Err, C);
if (!Mod)
@@ -569,11 +569,11 @@ TEST(AssumeQueryAPI, Alignment) {
SMDiagnostic Err;
std::unique_ptr<Module> Mod = parseAssemblyString(
"declare void @llvm.assume(i1)\n"
- "define void @test(i32* %P, i32* %P1, i32* %P2, i32 %I3, i1 %B) {\n"
- "call void @llvm.assume(i1 true) [\"align\"(i32* %P, i32 8, i32 %I3)]\n"
- "call void @llvm.assume(i1 true) [\"align\"(i32* %P1, i32 %I3, i32 "
+ "define void @test(ptr %P, ptr %P1, ptr %P2, i32 %I3, i1 %B) {\n"
+ "call void @llvm.assume(i1 true) [\"align\"(ptr %P, i32 8, i32 %I3)]\n"
+ "call void @llvm.assume(i1 true) [\"align\"(ptr %P1, i32 %I3, i32 "
"%I3)]\n"
- "call void @llvm.assume(i1 true) [\"align\"(i32* %P2, i32 16, i32 8)]\n"
+ "call void @llvm.assume(i1 true) [\"align\"(ptr %P2, i32 16, i32 8)]\n"
"ret void\n}\n",
Err, C);
if (!Mod)
diff --git a/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp b/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
index 17240a1c73bce..bf5afe8e79354 100644
--- a/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
+++ b/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
@@ -1936,26 +1936,26 @@ TEST_F(CGSCCPassManagerTest, TestDeletionOfFunctionInNonTrivialRefSCC) {
TEST_F(CGSCCPassManagerTest, TestInsertionOfNewNonTrivialCallEdge) {
std::unique_ptr<Module> M = parseIR("define void @f1() {\n"
"entry:\n"
- " %a = bitcast void ()* @f4 to i8*\n"
- " %b = bitcast void ()* @f2 to i8*\n"
+ " %a = bitcast ptr @f4 to ptr\n"
+ " %b = bitcast ptr @f2 to ptr\n"
" ret void\n"
"}\n"
"define void @f2() {\n"
"entry:\n"
- " %a = bitcast void ()* @f1 to i8*\n"
- " %b = bitcast void ()* @f3 to i8*\n"
+ " %a = bitcast ptr @f1 to ptr\n"
+ " %b = bitcast ptr @f3 to ptr\n"
" ret void\n"
"}\n"
"define void @f3() {\n"
"entry:\n"
- " %a = bitcast void ()* @f2 to i8*\n"
- " %b = bitcast void ()* @f4 to i8*\n"
+ " %a = bitcast ptr @f2 to ptr\n"
+ " %b = bitcast ptr @f4 to ptr\n"
" ret void\n"
"}\n"
"define void @f4() {\n"
"entry:\n"
- " %a = bitcast void ()* @f3 to i8*\n"
- " %b = bitcast void ()* @f1 to i8*\n"
+ " %a = bitcast ptr @f3 to ptr\n"
+ " %b = bitcast ptr @f1 to ptr\n"
" ret void\n"
"}\n");
diff --git a/llvm/unittests/Analysis/CaptureTrackingTest.cpp b/llvm/unittests/Analysis/CaptureTrackingTest.cpp
index ea3f21efc014c..d7ee5252d50be 100644
--- a/llvm/unittests/Analysis/CaptureTrackingTest.cpp
+++ b/llvm/unittests/Analysis/CaptureTrackingTest.cpp
@@ -20,27 +20,27 @@ using namespace llvm;
TEST(CaptureTracking, MaxUsesToExplore) {
StringRef Assembly = R"(
; Function Attrs: nounwind ssp uwtable
- declare void @doesnt_capture(i8* nocapture, i8* nocapture, i8* nocapture,
- i8* nocapture, i8* nocapture)
+ declare void @doesnt_capture(ptr nocapture, ptr nocapture, ptr nocapture,
+ ptr nocapture, ptr nocapture)
; %arg has 5 uses
- define void @test_few_uses(i8* %arg) {
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
+ define void @test_few_uses(ptr %arg) {
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %arg, ptr %arg, ptr %arg)
ret void
}
; %arg has 50 uses
- define void @test_many_uses(i8* %arg) {
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
- call void @doesnt_capture(i8* %arg, i8* %arg, i8* %arg, i8* %arg, i8* %arg)
+ define void @test_many_uses(ptr %arg) {
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %arg, ptr %arg, ptr %arg)
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %arg, ptr %arg, ptr %arg)
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %arg, ptr %arg, ptr %arg)
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %arg, ptr %arg, ptr %arg)
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %arg, ptr %arg, ptr %arg)
+ call void @doesnt_capture(ptr %arg, ptr %arg, ptr %ar...
[truncated]
|
You can test this locally with the following command:git-clang-format --diff origin/main HEAD --extensions cpp -- llvm/unittests/Analysis/AliasAnalysisTest.cpp llvm/unittests/Analysis/AliasSetTrackerTest.cpp llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp llvm/unittests/Analysis/CGSCCPassManagerTest.cpp llvm/unittests/Analysis/CaptureTrackingTest.cpp llvm/unittests/Analysis/DDGTest.cpp llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp llvm/unittests/Analysis/LazyCallGraphTest.cpp llvm/unittests/Analysis/SparsePropagation.cpp llvm/unittests/Analysis/UnrollAnalyzerTest.cpp llvm/unittests/Analysis/ValueTrackingTest.cpp llvm/unittests/MIR/MachineMetadata.cpp llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp llvm/unittests/Transforms/IPO/AttributorTest.cpp llvm/unittests/Transforms/Scalar/LICMTest.cpp llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp llvm/unittests/Transforms/Utils/CloningTest.cpp llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp llvm/unittests/Transforms/Utils/LocalTest.cpp llvm/unittests/Transforms/Utils/MemTransferLowering.cpp llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp llvm/unittests/Transforms/Utils/ValueMapperTest.cpp --diff_from_common_commit
View the diff from clang-format here.diff --git a/llvm/unittests/Analysis/AliasAnalysisTest.cpp b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
index a28d318ab..c54165c9b 100644
--- a/llvm/unittests/Analysis/AliasAnalysisTest.cpp
+++ b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
@@ -246,7 +246,8 @@ TEST_F(AliasAnalysisTest, BatchAAPhiCycles) {
%s2 = select i1 %c, ptr %a2, ptr %a1
br label %loop
}
- )", Err, C);
+ )",
+ Err, C);
Function *F = M->getFunction("f");
Instruction *Phi = getInstructionByName(*F, "phi");
@@ -291,7 +292,8 @@ TEST_F(AliasAnalysisTest, BatchAAPhiAssumption) {
%b.next = getelementptr i8, ptr %b, i64 1
br label %loop
}
- )", Err, C);
+ )",
+ Err, C);
Function *F = M->getFunction("f");
Instruction *A = getInstructionByName(*F, "a");
diff --git a/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp b/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
index 921e2aa8c..5103f7d63 100644
--- a/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
+++ b/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
@@ -72,13 +72,12 @@ bool hasTheRightValue(AssumeInst *Assume, Value *WasOn,
TEST(AssumeQueryAPI, hasAttributeInAssume) {
EnableKnowledgeRetention.setValue(true);
- StringRef Head =
- "declare void @llvm.assume(i1)\n"
- "declare void @func(ptr, ptr, ptr)\n"
- "declare void @func1(ptr, ptr, ptr, ptr)\n"
- "declare void @func_many(ptr) \"no-jump-tables\" nounwind "
- "\"less-precise-fpmad\" willreturn norecurse\n"
- "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3) {\n";
+ StringRef Head = "declare void @llvm.assume(i1)\n"
+ "declare void @func(ptr, ptr, ptr)\n"
+ "declare void @func1(ptr, ptr, ptr, ptr)\n"
+ "declare void @func_many(ptr) \"no-jump-tables\" nounwind "
+ "\"less-precise-fpmad\" willreturn norecurse\n"
+ "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3) {\n";
StringRef Tail = "ret void\n"
"}";
std::vector<std::pair<StringRef, llvm::function_ref<void(Instruction *)>>>
@@ -127,7 +126,8 @@ TEST(AssumeQueryAPI, hasAttributeInAssume) {
Attribute::AttrKind::Alignment, 64));
}));
Tests.push_back(std::make_pair(
- "call void @func_many(ptr align 8 noundef %P1) cold\n", [](Instruction *I) {
+ "call void @func_many(ptr align 8 noundef %P1) cold\n",
+ [](Instruction *I) {
ShouldPreserveAllAttributes.setValue(true);
auto *Assume = buildAssumeFromInst(I);
Assume->insertBefore(I->getIterator());
@@ -249,13 +249,12 @@ static bool MapHasRightValue(RetainedKnowledgeMap &Map, AssumeInst *II,
TEST(AssumeQueryAPI, fillMapFromAssume) {
EnableKnowledgeRetention.setValue(true);
- StringRef Head =
- "declare void @llvm.assume(i1)\n"
- "declare void @func(ptr, ptr, ptr)\n"
- "declare void @func1(ptr, ptr, ptr, ptr)\n"
- "declare void @func_many(ptr) \"no-jump-tables\" nounwind "
- "\"less-precise-fpmad\" willreturn norecurse\n"
- "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3) {\n";
+ StringRef Head = "declare void @llvm.assume(i1)\n"
+ "declare void @func(ptr, ptr, ptr)\n"
+ "declare void @func1(ptr, ptr, ptr, ptr)\n"
+ "declare void @func_many(ptr) \"no-jump-tables\" nounwind "
+ "\"less-precise-fpmad\" willreturn norecurse\n"
+ "define void @test(ptr %P, ptr %P1, ptr %P2, ptr %P3) {\n";
StringRef Tail = "ret void\n"
"}";
std::vector<std::pair<StringRef, llvm::function_ref<void(Instruction *)>>>
diff --git a/llvm/unittests/Analysis/LazyCallGraphTest.cpp b/llvm/unittests/Analysis/LazyCallGraphTest.cpp
index 5c0bfbd74..f16470f9e 100644
--- a/llvm/unittests/Analysis/LazyCallGraphTest.cpp
+++ b/llvm/unittests/Analysis/LazyCallGraphTest.cpp
@@ -139,83 +139,82 @@ static const char DiamondOfTriangles[] =
All call edges go up between RefSCCs, and clockwise around the RefSCC.
*/
-static const char DiamondOfTrianglesRefGraph[] =
- "define void @a1() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @a2, ptr %a\n"
- " store ptr @b2, ptr %a\n"
- " store ptr @c3, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @a2() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @a3, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @a3() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @a1, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @b1() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @b2, ptr %a\n"
- " store ptr @d3, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @b2() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @b3, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @b3() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @b1, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @c1() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @c2, ptr %a\n"
- " store ptr @d2, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @c2() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @c3, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @c3() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @c1, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @d1() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @d2, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @d2() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @d3, ptr %a\n"
- " ret void\n"
- "}\n"
- "define void @d3() {\n"
- "entry:\n"
- " %a = alloca ptr\n"
- " store ptr @d1, ptr %a\n"
- " ret void\n"
- "}\n";
+static const char DiamondOfTrianglesRefGraph[] = "define void @a1() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @a2, ptr %a\n"
+ " store ptr @b2, ptr %a\n"
+ " store ptr @c3, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @a2() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @a3, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @a3() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @a1, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @b1() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @b2, ptr %a\n"
+ " store ptr @d3, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @b2() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @b3, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @b3() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @b1, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @c1() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @c2, ptr %a\n"
+ " store ptr @d2, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @c2() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @c3, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @c3() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @c1, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @d1() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @d2, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @d2() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @d3, ptr %a\n"
+ " ret void\n"
+ "}\n"
+ "define void @d3() {\n"
+ "entry:\n"
+ " %a = alloca ptr\n"
+ " store ptr @d1, ptr %a\n"
+ " ret void\n"
+ "}\n";
static LazyCallGraph buildCG(Module &M) {
TargetLibraryInfoImpl TLII(M.getTargetTriple());
@@ -1002,29 +1001,28 @@ TEST(LazyCallGraphTest, IncomingEdgeInsertionLargeCallCycle) {
TEST(LazyCallGraphTest, IncomingEdgeInsertionLargeRefCycle) {
LLVMContext Context;
- std::unique_ptr<Module> M =
- parseAssembly(Context, "define void @a() {\n"
- "entry:\n"
- " %p = alloca ptr\n"
- " store ptr @b, ptr %p\n"
- " ret void\n"
- "}\n"
- "define void @b() {\n"
- "entry:\n"
- " %p = alloca ptr\n"
- " store ptr @c, ptr %p\n"
- " ret void\n"
- "}\n"
- "define void @c() {\n"
- "entry:\n"
- " %p = alloca ptr\n"
- " store ptr @d, ptr %p\n"
- " ret void\n"
- "}\n"
- "define void @d() {\n"
- "entry:\n"
- " ret void\n"
- "}\n");
+ std::unique_ptr<Module> M = parseAssembly(Context, "define void @a() {\n"
+ "entry:\n"
+ " %p = alloca ptr\n"
+ " store ptr @b, ptr %p\n"
+ " ret void\n"
+ "}\n"
+ "define void @b() {\n"
+ "entry:\n"
+ " %p = alloca ptr\n"
+ " store ptr @c, ptr %p\n"
+ " ret void\n"
+ "}\n"
+ "define void @c() {\n"
+ "entry:\n"
+ " %p = alloca ptr\n"
+ " store ptr @d, ptr %p\n"
+ " ret void\n"
+ "}\n"
+ "define void @d() {\n"
+ "entry:\n"
+ " ret void\n"
+ "}\n");
LazyCallGraph CG = buildCG(*M);
// Force the graph to be fully expanded.
@@ -1305,28 +1303,28 @@ TEST(LazyCallGraphTest, InternalEdgeMutation) {
TEST(LazyCallGraphTest, InternalEdgeRemoval) {
LLVMContext Context;
// A nice fully connected (including self-edges) RefSCC.
- std::unique_ptr<Module> M = parseAssembly(
- Context, "define void @a(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " store ptr @b, ptr %ptr\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @b(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " store ptr @b, ptr %ptr\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @c(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " store ptr @b, ptr %ptr\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n");
+ std::unique_ptr<Module> M =
+ parseAssembly(Context, "define void @a(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " store ptr @b, ptr %ptr\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @b(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " store ptr @b, ptr %ptr\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @c(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " store ptr @b, ptr %ptr\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n");
LazyCallGraph CG = buildCG(*M);
// Force the graph to be fully expanded.
@@ -1383,28 +1381,28 @@ TEST(LazyCallGraphTest, InternalEdgeRemoval) {
TEST(LazyCallGraphTest, InternalMultiEdgeRemoval) {
LLVMContext Context;
// A nice fully connected (including self-edges) RefSCC.
- std::unique_ptr<Module> M = parseAssembly(
- Context, "define void @a(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " store ptr @b, ptr %ptr\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @b(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " store ptr @b, ptr %ptr\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @c(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " store ptr @b, ptr %ptr\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n");
+ std::unique_ptr<Module> M =
+ parseAssembly(Context, "define void @a(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " store ptr @b, ptr %ptr\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @b(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " store ptr @b, ptr %ptr\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @c(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " store ptr @b, ptr %ptr\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n");
LazyCallGraph CG = buildCG(*M);
// Force the graph to be fully expanded.
@@ -1453,25 +1451,25 @@ TEST(LazyCallGraphTest, InternalNoOpEdgeRemoval) {
//
// Reference edges: a -> b -> c -> a
// Call edges: a -> c -> b -> a
- std::unique_ptr<Module> M = parseAssembly(
- Context, "define void @a(ptr %ptr) {\n"
- "entry:\n"
- " call void @b(ptr %ptr)\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @b(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @a, ptr %ptr\n"
- " call void @c(ptr %ptr)\n"
- " ret void\n"
- "}\n"
- "define void @c(ptr %ptr) {\n"
- "entry:\n"
- " call void @a(ptr %ptr)\n"
- " store ptr @b, ptr %ptr\n"
- " ret void\n"
- "}\n");
+ std::unique_ptr<Module> M =
+ parseAssembly(Context, "define void @a(ptr %ptr) {\n"
+ "entry:\n"
+ " call void @b(ptr %ptr)\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @b(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @a, ptr %ptr\n"
+ " call void @c(ptr %ptr)\n"
+ " ret void\n"
+ "}\n"
+ "define void @c(ptr %ptr) {\n"
+ "entry:\n"
+ " call void @a(ptr %ptr)\n"
+ " store ptr @b, ptr %ptr\n"
+ " ret void\n"
+ "}\n");
LazyCallGraph CG = buildCG(*M);
// Force the graph to be fully expanded.
@@ -2017,34 +2015,33 @@ TEST(LazyCallGraphTest, ReplaceNodeFunction) {
// A graph with several different kinds of edges pointing at a particular
// function.
std::unique_ptr<Module> M =
- parseAssembly(Context,
- "define void @a(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @d, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @b(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @d, ptr %ptr\n"
- " store ptr @d, ptr %ptr\n"
- " call void @d(ptr %ptr)"
- " ret void\n"
- "}\n"
- "define void @c(ptr %ptr) {\n"
- "entry:\n"
- " call void @d(ptr %ptr)"
- " call void @d(ptr %ptr)"
- " store ptr @d, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @d(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @b, ptr %ptr\n"
- " call void @c(ptr %ptr)"
- " call void @d(ptr %ptr)"
- " store ptr @d, ptr %ptr\n"
- " ret void\n"
- "}\n");
+ parseAssembly(Context, "define void @a(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @d, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @b(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @d, ptr %ptr\n"
+ " store ptr @d, ptr %ptr\n"
+ " call void @d(ptr %ptr)"
+ " ret void\n"
+ "}\n"
+ "define void @c(ptr %ptr) {\n"
+ "entry:\n"
+ " call void @d(ptr %ptr)"
+ " call void @d(ptr %ptr)"
+ " store ptr @d, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @d(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @b, ptr %ptr\n"
+ " call void @c(ptr %ptr)"
+ " call void @d(ptr %ptr)"
+ " store ptr @d, ptr %ptr\n"
+ " ret void\n"
+ "}\n");
LazyCallGraph CG = buildCG(*M);
// Force the graph to be fully expanded.
@@ -2097,32 +2094,31 @@ TEST(LazyCallGraphTest, RemoveFunctionWithSpuriousRef) {
LLVMContext Context;
// A graph with a couple of RefSCCs.
std::unique_ptr<Module> M =
- parseAssembly(Context,
- "define void @a(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @d, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @b(ptr %ptr) {\n"
- "entry:\n"
- " store ptr @c, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @c(ptr %ptr) {\n"
- "entry:\n"
- " call void @d(ptr %ptr)"
- " ret void\n"
- "}\n"
- "define void @d(ptr %ptr) {\n"
- "entry:\n"
- " call void @c(ptr %ptr)"
- " store ptr @b, ptr %ptr\n"
- " ret void\n"
- "}\n"
- "define void @dead() {\n"
- "entry:\n"
- " ret void\n"
- "}\n");
+ parseAssembly(Context, "define void @a(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @d, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @b(ptr %ptr) {\n"
+ "entry:\n"
+ " store ptr @c, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @c(ptr %ptr) {\n"
+ "entry:\n"
+ " call void @d(ptr %ptr)"
+ " ret void\n"
+ "}\n"
+ "define void @d(ptr %ptr) {\n"
+ "entry:\n"
+ " call void @c(ptr %ptr)"
+ " store ptr @b, ptr %ptr\n"
+ " ret void\n"
+ "}\n"
+ "define void @dead() {\n"
+ "entry:\n"
+ " ret void\n"
+ "}\n");
LazyCallGraph CG = buildCG(*M);
// Insert spurious ref edges.
diff --git a/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp b/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
index 3c7ee7ad1..1d7e4e6b0 100644
--- a/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
+++ b/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
@@ -264,14 +264,16 @@ TEST(UnrollAnalyzerTest, PtrCmpSimplifications) {
TEST(UnrollAnalyzerTest, CastSimplifications) {
const char *ModuleStr =
"target datalayout = \"e-m:o-i64:64-f80:128-n8:16:32:64-S128\"\n"
- "@known_constant = internal unnamed_addr constant [10 x i32] [i32 0, i32 1, i32 0, i32 1, i32 0, i32 259, i32 0, i32 1, i32 0, i32 1], align 16\n"
+ "@known_constant = internal unnamed_addr constant [10 x i32] [i32 0, i32 "
+ "1, i32 0, i32 1, i32 0, i32 259, i32 0, i32 1, i32 0, i32 1], align 16\n"
"define void @const_load_cast() {\n"
"entry:\n"
" br label %loop\n"
"\n"
"loop:\n"
" %iv = phi i64 [ 0, %entry ], [ %inc, %loop ]\n"
- " %array_const_idx = getelementptr inbounds [10 x i32], ptr @known_constant, i64 0, i64 %iv\n"
+ " %array_const_idx = getelementptr inbounds [10 x i32], ptr "
+ "@known_constant, i64 0, i64 %iv\n"
" %const_array_element = load i32, ptr %array_const_idx, align 4\n"
" %se = sext i32 %const_array_element to i64\n"
" %ze = zext i32 %const_array_element to i64\n"
diff --git a/llvm/unittests/Analysis/ValueTrackingTest.cpp b/llvm/unittests/Analysis/ValueTrackingTest.cpp
index 89a0faefc..f36b899a2 100644
--- a/llvm/unittests/Analysis/ValueTrackingTest.cpp
+++ b/llvm/unittests/Analysis/ValueTrackingTest.cpp
@@ -2694,16 +2694,15 @@ TEST_F(ComputeKnownBitsTest, ComputeKnownBitsAddWithRangeNoOverlap) {
}
TEST_F(ComputeKnownBitsTest, ComputeKnownBitsGEPWithRange) {
- parseAssembly(
- "define void @test(ptr %p) {\n"
- " %A = load i64, ptr %p, !range !{i64 64, i64 65536}\n"
- " %APtr = inttoptr i64 %A to ptr"
- " %APtrPlus512 = getelementptr float, ptr %APtr, i32 128\n"
- " %c = icmp ugt ptr %APtrPlus512, inttoptr (i32 523 to ptr)\n"
- " call void @llvm.assume(i1 %c)\n"
- " ret void\n"
- "}\n"
- "declare void @llvm.assume(i1)\n");
+ parseAssembly("define void @test(ptr %p) {\n"
+ " %A = load i64, ptr %p, !range !{i64 64, i64 65536}\n"
+ " %APtr = inttoptr i64 %A to ptr"
+ " %APtrPlus512 = getelementptr float, ptr %APtr, i32 128\n"
+ " %c = icmp ugt ptr %APtrPlus512, inttoptr (i32 523 to ptr)\n"
+ " call void @llvm.assume(i1 %c)\n"
+ " ret void\n"
+ "}\n"
+ "declare void @llvm.assume(i1)\n");
AssumptionCache AC(*F);
KnownBits Known =
computeKnownBits(A, M->getDataLayout(), &AC, F->front().getTerminator());
@@ -2727,16 +2726,15 @@ TEST_F(ComputeKnownBitsTest, ComputeKnownBitsGEPWithRange) {
// This test is useful to check that we account for the scaling factor
// in the gep. Indeed, gep float, [32,64), 128 is not 128 + [32,64).
TEST_F(ComputeKnownBitsTest, ComputeKnownBitsGEPWithRangeNoOverlap) {
- parseAssembly(
- "define void @test(ptr %p) {\n"
- " %A = load i64, ptr %p, !range !{i64 32, i64 64}\n"
- " %APtr = inttoptr i64 %A to ptr"
- " %APtrPlus512 = getelementptr float, ptr %APtr, i32 128\n"
- " %c = icmp ugt ptr %APtrPlus512, inttoptr (i32 523 to ptr)\n"
- " call void @llvm.assume(i1 %c)\n"
- " ret void\n"
- "}\n"
- "declare void @llvm.assume(i1)\n");
+ parseAssembly("define void @test(ptr %p) {\n"
+ " %A = load i64, ptr %p, !range !{i64 32, i64 64}\n"
+ " %APtr = inttoptr i64 %A to ptr"
+ " %APtrPlus512 = getelementptr float, ptr %APtr, i32 128\n"
+ " %c = icmp ugt ptr %APtrPlus512, inttoptr (i32 523 to ptr)\n"
+ " call void @llvm.assume(i1 %c)\n"
+ " ret void\n"
+ "}\n"
+ "declare void @llvm.assume(i1)\n");
AssumptionCache AC(*F);
KnownBits Known =
computeKnownBits(A, M->getDataLayout(), &AC, F->front().getTerminator());
diff --git a/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp b/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
index 88eaa875a..1fe91f616 100644
--- a/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
+++ b/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
@@ -861,32 +861,33 @@ TEST_F(LoopPassManagerTest, IndirectOuterPassInvalidation) {
TEST_F(LoopPassManagerTest, LoopChildInsertion) {
// Super boring module with three loops in a single loop nest.
- M = parseIR(Context, "define void @f(ptr %ptr) {\n"
- "entry:\n"
- " br label %loop.0\n"
- "loop.0:\n"
- " %cond.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0, label %loop.0.0.ph, label %end\n"
- "loop.0.0.ph:\n"
- " br label %loop.0.0\n"
- "loop.0.0:\n"
- " %cond.0.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.0, label %loop.0.0, label %loop.0.1.ph\n"
- "loop.0.1.ph:\n"
- " br label %loop.0.1\n"
- "loop.0.1:\n"
- " %cond.0.1 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.1, label %loop.0.1, label %loop.0.2.ph\n"
- "loop.0.2.ph:\n"
- " br label %loop.0.2\n"
- "loop.0.2:\n"
- " %cond.0.2 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.2, label %loop.0.2, label %loop.0.latch\n"
- "loop.0.latch:\n"
- " br label %loop.0\n"
- "end:\n"
- " ret void\n"
- "}\n");
+ M = parseIR(Context,
+ "define void @f(ptr %ptr) {\n"
+ "entry:\n"
+ " br label %loop.0\n"
+ "loop.0:\n"
+ " %cond.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0, label %loop.0.0.ph, label %end\n"
+ "loop.0.0.ph:\n"
+ " br label %loop.0.0\n"
+ "loop.0.0:\n"
+ " %cond.0.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.0, label %loop.0.0, label %loop.0.1.ph\n"
+ "loop.0.1.ph:\n"
+ " br label %loop.0.1\n"
+ "loop.0.1:\n"
+ " %cond.0.1 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.1, label %loop.0.1, label %loop.0.2.ph\n"
+ "loop.0.2.ph:\n"
+ " br label %loop.0.2\n"
+ "loop.0.2:\n"
+ " %cond.0.2 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.2, label %loop.0.2, label %loop.0.latch\n"
+ "loop.0.latch:\n"
+ " br label %loop.0\n"
+ "end:\n"
+ " ret void\n"
+ "}\n");
// Build up variables referring into the IR so we can rewrite it below
// easily.
@@ -1064,32 +1065,33 @@ TEST_F(LoopPassManagerTest, LoopChildInsertion) {
TEST_F(LoopPassManagerTest, LoopPeerInsertion) {
// Super boring module with two loop nests and loop nest with two child
// loops.
- M = parseIR(Context, "define void @f(ptr %ptr) {\n"
- "entry:\n"
- " br label %loop.0\n"
- "loop.0:\n"
- " %cond.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0, label %loop.0.0.ph, label %loop.2.ph\n"
- "loop.0.0.ph:\n"
- " br label %loop.0.0\n"
- "loop.0.0:\n"
- " %cond.0.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.0, label %loop.0.0, label %loop.0.2.ph\n"
- "loop.0.2.ph:\n"
- " br label %loop.0.2\n"
- "loop.0.2:\n"
- " %cond.0.2 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.2, label %loop.0.2, label %loop.0.latch\n"
- "loop.0.latch:\n"
- " br label %loop.0\n"
- "loop.2.ph:\n"
- " br label %loop.2\n"
- "loop.2:\n"
- " %cond.2 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.2, label %loop.2, label %end\n"
- "end:\n"
- " ret void\n"
- "}\n");
+ M = parseIR(Context,
+ "define void @f(ptr %ptr) {\n"
+ "entry:\n"
+ " br label %loop.0\n"
+ "loop.0:\n"
+ " %cond.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0, label %loop.0.0.ph, label %loop.2.ph\n"
+ "loop.0.0.ph:\n"
+ " br label %loop.0.0\n"
+ "loop.0.0:\n"
+ " %cond.0.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.0, label %loop.0.0, label %loop.0.2.ph\n"
+ "loop.0.2.ph:\n"
+ " br label %loop.0.2\n"
+ "loop.0.2:\n"
+ " %cond.0.2 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.2, label %loop.0.2, label %loop.0.latch\n"
+ "loop.0.latch:\n"
+ " br label %loop.0\n"
+ "loop.2.ph:\n"
+ " br label %loop.2\n"
+ "loop.2:\n"
+ " %cond.2 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.2, label %loop.2, label %end\n"
+ "end:\n"
+ " ret void\n"
+ "}\n");
// Build up variables referring into the IR so we can rewrite it below
// easily.
@@ -1318,39 +1320,40 @@ TEST_F(LoopPassManagerTest, LoopDeletion) {
// Build a module with a single loop nest that contains one outer loop with
// three subloops, and one of those with its own subloop. We will
// incrementally delete all of these to test different deletion scenarios.
- M = parseIR(Context, "define void @f(ptr %ptr) {\n"
- "entry:\n"
- " br label %loop.0\n"
- "loop.0:\n"
- " %cond.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0, label %loop.0.0.ph, label %end\n"
- "loop.0.0.ph:\n"
- " br label %loop.0.0\n"
- "loop.0.0:\n"
- " %cond.0.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.0, label %loop.0.0, label %loop.0.1.ph\n"
- "loop.0.1.ph:\n"
- " br label %loop.0.1\n"
- "loop.0.1:\n"
- " %cond.0.1 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.1, label %loop.0.1, label %loop.0.2.ph\n"
- "loop.0.2.ph:\n"
- " br label %loop.0.2\n"
- "loop.0.2:\n"
- " %cond.0.2 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.2, label %loop.0.2.0.ph, label %loop.0.latch\n"
- "loop.0.2.0.ph:\n"
- " br label %loop.0.2.0\n"
- "loop.0.2.0:\n"
- " %cond.0.2.0 = load volatile i1, ptr %ptr\n"
- " br i1 %cond.0.2.0, label %loop.0.2.0, label %loop.0.2.latch\n"
- "loop.0.2.latch:\n"
- " br label %loop.0.2\n"
- "loop.0.latch:\n"
- " br label %loop.0\n"
- "end:\n"
- " ret void\n"
- "}\n");
+ M = parseIR(Context,
+ "define void @f(ptr %ptr) {\n"
+ "entry:\n"
+ " br label %loop.0\n"
+ "loop.0:\n"
+ " %cond.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0, label %loop.0.0.ph, label %end\n"
+ "loop.0.0.ph:\n"
+ " br label %loop.0.0\n"
+ "loop.0.0:\n"
+ " %cond.0.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.0, label %loop.0.0, label %loop.0.1.ph\n"
+ "loop.0.1.ph:\n"
+ " br label %loop.0.1\n"
+ "loop.0.1:\n"
+ " %cond.0.1 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.1, label %loop.0.1, label %loop.0.2.ph\n"
+ "loop.0.2.ph:\n"
+ " br label %loop.0.2\n"
+ "loop.0.2:\n"
+ " %cond.0.2 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.2, label %loop.0.2.0.ph, label %loop.0.latch\n"
+ "loop.0.2.0.ph:\n"
+ " br label %loop.0.2.0\n"
+ "loop.0.2.0:\n"
+ " %cond.0.2.0 = load volatile i1, ptr %ptr\n"
+ " br i1 %cond.0.2.0, label %loop.0.2.0, label %loop.0.2.latch\n"
+ "loop.0.2.latch:\n"
+ " br label %loop.0.2\n"
+ "loop.0.latch:\n"
+ " br label %loop.0\n"
+ "end:\n"
+ " ret void\n"
+ "}\n");
// Build up variables referring into the IR so we can rewrite it below
// easily.
diff --git a/llvm/unittests/Transforms/Utils/CloningTest.cpp b/llvm/unittests/Transforms/Utils/CloningTest.cpp
index 237bc6e87..be6113d67 100644
--- a/llvm/unittests/Transforms/Utils/CloningTest.cpp
+++ b/llvm/unittests/Transforms/Utils/CloningTest.cpp
@@ -392,9 +392,8 @@ TEST(CloneLoop, CloneLoopNest) {
// Parse the module.
LLVMContext Context;
- std::unique_ptr<Module> M = parseIR(
- Context,
- R"(define void @foo(ptr %A, i32 %ub) {
+ std::unique_ptr<Module> M = parseIR(Context,
+ R"(define void @foo(ptr %A, i32 %ub) {
entry:
%guardcmp = icmp slt i32 0, %ub
br i1 %guardcmp, label %for.outer.preheader, label %for.end
@@ -423,8 +422,7 @@ for.outer.exit:
br label %for.end
for.end:
ret void
-})"
- );
+})");
runWithLoopInfoAndDominatorTree(
*M, "foo", [&](Function &F, LoopInfo &LI, DominatorTree &DT) {
diff --git a/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp b/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
index 90f06204e..b443d1836 100644
--- a/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
+++ b/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
@@ -351,9 +351,10 @@ TEST(CodeExtractor, StoreOutputInvokeResultAfterEHPad) {
%ex.2 = phi ptr [ %ex.1, %lpad2 ], [ null, %lpad ]
unreachable
}
- )invalid", Err, Ctx));
+ )invalid",
+ Err, Ctx));
- if (!M) {
+ if (!M) {
Err.print("unit", errs());
exit(1);
}
diff --git a/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp b/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
index 7ba259deb..c4b01fa45 100644
--- a/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
+++ b/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
@@ -32,9 +32,9 @@ static std::unique_ptr<Module> parseIR(LLVMContext &C, const char *IR) {
TEST(LoopUnrollRuntime, Latch) {
LLVMContext C;
- std::unique_ptr<Module> M = parseIR(
- C,
- R"(define i32 @test(ptr %a, ptr %b, ptr %c, i64 %n) {
+ std::unique_ptr<Module> M =
+ parseIR(C,
+ R"(define i32 @test(ptr %a, ptr %b, ptr %c, i64 %n) {
entry:
br label %while.cond
@@ -56,8 +56,7 @@ while.body: ; preds = %while.cond
while.end: ; preds = %while.cond
ret i32 0
-})"
- );
+})");
auto *F = M->getFunction("test");
DominatorTree DT(*F);
|
boomanaiden154
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
| "entry:\n" | ||
| " %a = bitcast void ()* @f4 to i8*\n" | ||
| " %b = bitcast void ()* @f2 to i8*\n" | ||
| " %a = bitcast ptr @f4 to ptr\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a bit weird now that the bitcasts are explicitly redundant, but I guess it doesn't matter since the test really has nothing to do with bitcasts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also a big change from going from instruction to constant

No description provided.