aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests')
-rw-r--r--llvm/unittests/ADT/CombinationGeneratorTest.cpp1
-rw-r--r--llvm/unittests/ADT/FunctionExtrasTest.cpp1
-rw-r--r--llvm/unittests/ADT/IntervalMapTest.cpp1
-rw-r--r--llvm/unittests/Analysis/AliasAnalysisTest.cpp50
-rw-r--r--llvm/unittests/Analysis/AliasSetTrackerTest.cpp6
-rw-r--r--llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp90
-rw-r--r--llvm/unittests/Analysis/CGSCCPassManagerTest.cpp16
-rw-r--r--llvm/unittests/Analysis/CaptureTrackingTest.cpp40
-rw-r--r--llvm/unittests/Analysis/DDGTest.cpp44
-rw-r--r--llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp44
-rw-r--r--llvm/unittests/Analysis/LazyCallGraphTest.cpp208
-rw-r--r--llvm/unittests/Analysis/SparsePropagation.cpp8
-rw-r--r--llvm/unittests/Analysis/UnrollAnalyzerTest.cpp30
-rw-r--r--llvm/unittests/Analysis/ValueTrackingTest.cpp12
-rw-r--r--llvm/unittests/MIR/MachineMetadata.cpp12
-rw-r--r--llvm/unittests/Support/HashBuilderTest.cpp1
-rw-r--r--llvm/unittests/Support/NativeFormatTests.cpp2
-rw-r--r--llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp1
-rw-r--r--llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp4
-rw-r--r--llvm/unittests/TargetParser/TripleTest.cpp11
-rw-r--r--llvm/unittests/Transforms/IPO/AttributorTest.cpp12
-rw-r--r--llvm/unittests/Transforms/Scalar/LICMTest.cpp12
-rw-r--r--llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp44
-rw-r--r--llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp8
-rw-r--r--llvm/unittests/Transforms/Utils/CloningTest.cpp10
-rw-r--r--llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp60
-rw-r--r--llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp134
-rw-r--r--llvm/unittests/Transforms/Utils/LocalTest.cpp14
-rw-r--r--llvm/unittests/Transforms/Utils/MemTransferLowering.cpp36
-rw-r--r--llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp16
-rw-r--r--llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp14
-rw-r--r--llvm/unittests/Transforms/Utils/ValueMapperTest.cpp2
32 files changed, 474 insertions, 470 deletions
diff --git a/llvm/unittests/ADT/CombinationGeneratorTest.cpp b/llvm/unittests/ADT/CombinationGeneratorTest.cpp
index 219e18b..cf187e6 100644
--- a/llvm/unittests/ADT/CombinationGeneratorTest.cpp
+++ b/llvm/unittests/ADT/CombinationGeneratorTest.cpp
@@ -13,7 +13,6 @@
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <cstddef>
-#include <iterator>
#include <vector>
using namespace llvm;
diff --git a/llvm/unittests/ADT/FunctionExtrasTest.cpp b/llvm/unittests/ADT/FunctionExtrasTest.cpp
index 9809a92..fdabdca 100644
--- a/llvm/unittests/ADT/FunctionExtrasTest.cpp
+++ b/llvm/unittests/ADT/FunctionExtrasTest.cpp
@@ -11,7 +11,6 @@
#include "gtest/gtest.h"
#include <memory>
-#include <type_traits>
using namespace llvm;
diff --git a/llvm/unittests/ADT/IntervalMapTest.cpp b/llvm/unittests/ADT/IntervalMapTest.cpp
index 38f397f..06848e2 100644
--- a/llvm/unittests/ADT/IntervalMapTest.cpp
+++ b/llvm/unittests/ADT/IntervalMapTest.cpp
@@ -8,7 +8,6 @@
#include "llvm/ADT/IntervalMap.h"
#include "gtest/gtest.h"
-#include <type_traits>
using namespace llvm;
diff --git a/llvm/unittests/Analysis/AliasAnalysisTest.cpp b/llvm/unittests/Analysis/AliasAnalysisTest.cpp
index 06066b1..a28d318 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 @@ protected:
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 e784e6e..b5adc84 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 5fd2ecc..921e2aa 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 17240a1..bf5afe8 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 ea3f21e..d7ee525 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 %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)
ret void
}
)";
@@ -85,12 +85,12 @@ struct CollectingCaptureTracker : public CaptureTracker {
TEST(CaptureTracking, MultipleUsesInSameInstruction) {
StringRef Assembly = R"(
- declare void @call(i8*, i8*, i8*)
+ declare void @call(ptr, ptr, ptr)
- define void @test(i8* %arg, i8** %ptr) {
- call void @call(i8* %arg, i8* nocapture %arg, i8* %arg) [ "bundle"(i8* %arg) ]
- cmpxchg i8** %ptr, i8* %arg, i8* %arg acq_rel monotonic
- icmp eq i8* %arg, %arg
+ define void @test(ptr %arg, ptr %ptr) {
+ call void @call(ptr %arg, ptr nocapture %arg, ptr %arg) [ "bundle"(ptr %arg) ]
+ cmpxchg ptr %ptr, ptr %arg, ptr %arg acq_rel monotonic
+ icmp eq ptr %arg, %arg
ret void
}
)";
diff --git a/llvm/unittests/Analysis/DDGTest.cpp b/llvm/unittests/Analysis/DDGTest.cpp
index 7fcdfdb..12944a3 100644
--- a/llvm/unittests/Analysis/DDGTest.cpp
+++ b/llvm/unittests/Analysis/DDGTest.cpp
@@ -51,7 +51,7 @@ TEST(DDGTest, getDependencies) {
"target datalayout = \"e-m:e-i64:64-n32:64\"\n"
"target triple = \"powerpc64le-unknown-linux-gnu\"\n"
"\n"
- "define dso_local void @foo(i32 signext %n, i32* noalias %A, i32* "
+ "define dso_local void @foo(i32 signext %n, ptr noalias %A, ptr "
"noalias %B) {\n"
"entry:\n"
" %cmp1 = icmp sgt i32 %n, 0\n"
@@ -64,16 +64,16 @@ TEST(DDGTest, getDependencies) {
" for.body:\n"
" %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ "
"%indvars.iv.next, %for.body ]\n"
- " %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv\n"
+ " %arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv\n"
" %0 = trunc i64 %indvars.iv to i32\n"
- " store i32 %0, i32* %arrayidx, align 4\n"
+ " store i32 %0, ptr %arrayidx, align 4\n"
" %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\n"
- " %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 "
+ " %arrayidx2 = getelementptr inbounds i32, ptr %A, i64 "
"%indvars.iv.next\n"
- " %1 = load i32, i32* %arrayidx2, align 4\n"
+ " %1 = load i32, ptr %arrayidx2, align 4\n"
" %add3 = add nsw i32 %1, 1\n"
- " %arrayidx5 = getelementptr inbounds i32, i32* %B, i64 %indvars.iv\n"
- " store i32 %add3, i32* %arrayidx5, align 4\n"
+ " %arrayidx5 = getelementptr inbounds i32, ptr %B, i64 %indvars.iv\n"
+ " store i32 %add3, ptr %arrayidx5, align 4\n"
" %exitcond = icmp ne i64 %indvars.iv.next, %wide.trip.count\n"
" br i1 %exitcond, label %for.body, label %for.end.loopexit\n"
"\n"
@@ -142,8 +142,8 @@ TEST(DDGTest, avoidDuplicateEdgesToFromPiBlocks) {
const char *ModuleStr =
"target datalayout = \"e-m:e-i64:64-n32:64-v256:256:256-v512:512:512\"\n"
"\n"
- "define void @foo(float* noalias %A, float* noalias %B, float* noalias "
- "%C, float* noalias %D, i32 signext %n) {\n"
+ "define void @foo(ptr noalias %A, ptr noalias %B, ptr noalias "
+ "%C, ptr noalias %D, i32 signext %n) {\n"
"entry:\n"
" %cmp1 = icmp sgt i32 %n, 0\n"
" br i1 %cmp1, label %for.body.preheader, label %for.end\n"
@@ -156,26 +156,26 @@ TEST(DDGTest, avoidDuplicateEdgesToFromPiBlocks) {
"%for.body.preheader, %if.end\n"
" %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ %indvars.iv.next, "
"%if.end ]\n"
- " %arrayidx = getelementptr inbounds float, float* %A, i64 %indvars.iv\n"
- " %loadASubI = load float, float* %arrayidx, align 4\n"
- " %arrayidx2 = getelementptr inbounds float, float* %B, i64 "
+ " %arrayidx = getelementptr inbounds float, ptr %A, i64 %indvars.iv\n"
+ " %loadASubI = load float, ptr %arrayidx, align 4\n"
+ " %arrayidx2 = getelementptr inbounds float, ptr %B, i64 "
"%indvars.iv\n"
- " %loadBSubI = load float, float* %arrayidx2, align 4\n"
+ " %loadBSubI = load float, ptr %arrayidx2, align 4\n"
" %add = fadd fast float %loadASubI, %loadBSubI\n"
- " %arrayidx4 = getelementptr inbounds float, float* %A, i64 "
+ " %arrayidx4 = getelementptr inbounds float, ptr %A, i64 "
"%indvars.iv\n"
- " store float %add, float* %arrayidx4, align 4\n"
- " %arrayidx6 = getelementptr inbounds float, float* %A, i64 "
+ " store float %add, ptr %arrayidx4, align 4\n"
+ " %arrayidx6 = getelementptr inbounds float, ptr %A, i64 "
"%indvars.iv\n"
- " %0 = load float, float* %arrayidx6, align 4\n"
+ " %0 = load float, ptr %arrayidx6, align 4\n"
" %add7 = fadd fast float %0, 1.000000e+00\n"
" %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\n"
- " %arrayidx10 = getelementptr inbounds float, float* %B, i64 "
+ " %arrayidx10 = getelementptr inbounds float, ptr %B, i64 "
"%indvars.iv.next\n"
- " store float %add7, float* %arrayidx10, align 4\n"
- " %arrayidx12 = getelementptr inbounds float, float* %A, i64 "
+ " store float %add7, ptr %arrayidx10, align 4\n"
+ " %arrayidx12 = getelementptr inbounds float, ptr %A, i64 "
"%indvars.iv\n"
- " %1 = load float, float* %arrayidx12, align 4\n"
+ " %1 = load float, ptr %arrayidx12, align 4\n"
" %cmp13 = fcmp fast ogt float %1, 1.000000e+02\n"
" br i1 %cmp13, label %if.then, label %if.else\n"
"\n"
@@ -188,7 +188,7 @@ TEST(DDGTest, avoidDuplicateEdgesToFromPiBlocks) {
"if.end: ; preds = %if.else, "
"%if.then\n"
" %ff.0 = phi float [ %add, %if.then ], [ %add7, %if.else ]\n"
- " store float %ff.0, float* %C, align 4\n"
+ " store float %ff.0, ptr %C, align 4\n"
" %exitcond = icmp ne i64 %indvars.iv.next, %wide.trip.count\n"
" br i1 %exitcond, label %for.body, label %for.end.loopexit\n"
"\n"
diff --git a/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp b/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
index 497da8f..dc5d0a8 100644
--- a/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
+++ b/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
@@ -457,7 +457,7 @@ entry:
ret void
}
-define i32 @caller() personality i32 (...)* @__gxx_personality_v0 {
+define i32 @caller() personality ptr @__gxx_personality_v0 {
entry:
invoke void @callee()
to label %cont unwind label %exc
@@ -466,7 +466,7 @@ cont:
ret i32 0
exc:
- %exn = landingpad {i8*, i32}
+ %exn = landingpad {ptr, i32}
cleanup
ret i32 1
}
@@ -498,7 +498,7 @@ TEST_F(FunctionPropertiesAnalysisTest, InvokeUnreachableHandler) {
R"IR(
declare void @might_throw()
-define internal i32 @callee() personality i32 (...)* @__gxx_personality_v0 {
+define internal i32 @callee() personality ptr @__gxx_personality_v0 {
entry:
invoke void @might_throw()
to label %cont unwind label %exc
@@ -507,12 +507,12 @@ cont:
ret i32 0
exc:
- %exn = landingpad {i8*, i32}
+ %exn = landingpad {ptr, i32}
cleanup
- resume { i8*, i32 } %exn
+ resume { ptr, i32 } %exn
}
-define i32 @caller() personality i32 (...)* @__gxx_personality_v0 {
+define i32 @caller() personality ptr @__gxx_personality_v0 {
entry:
%X = invoke i32 @callee()
to label %cont unwind label %Handler
@@ -521,7 +521,7 @@ cont:
ret i32 %X
Handler:
- %exn = landingpad {i8*, i32}
+ %exn = landingpad {ptr, i32}
cleanup
ret i32 1
}
@@ -554,7 +554,7 @@ TEST_F(FunctionPropertiesAnalysisTest, Rethrow) {
R"IR(
declare void @might_throw()
-define internal i32 @callee() personality i32 (...)* @__gxx_personality_v0 {
+define internal i32 @callee() personality ptr @__gxx_personality_v0 {
entry:
invoke void @might_throw()
to label %cont unwind label %exc
@@ -563,12 +563,12 @@ cont:
ret i32 0
exc:
- %exn = landingpad {i8*, i32}
+ %exn = landingpad {ptr, i32}
cleanup
- resume { i8*, i32 } %exn
+ resume { ptr, i32 } %exn
}
-define i32 @caller() personality i32 (...)* @__gxx_personality_v0 {
+define i32 @caller() personality ptr @__gxx_personality_v0 {
entry:
%X = invoke i32 @callee()
to label %cont unwind label %Handler
@@ -577,7 +577,7 @@ cont:
ret i32 %X
Handler:
- %exn = landingpad {i8*, i32}
+ %exn = landingpad {ptr, i32}
cleanup
ret i32 1
}
@@ -612,18 +612,18 @@ declare void @external_func()
@exception_type2 = external global i8
-define internal void @inner() personality i8* null {
+define internal void @inner() personality ptr null {
invoke void @external_func()
to label %cont unwind label %lpad
cont:
ret void
lpad:
%lp = landingpad i32
- catch i8* @exception_type1
+ catch ptr @exception_type1
resume i32 %lp
}
-define void @outer() personality i8* null {
+define void @outer() personality ptr null {
invoke void @inner()
to label %cont unwind label %lpad
cont:
@@ -631,7 +631,7 @@ cont:
lpad:
%lp = landingpad i32
cleanup
- catch i8* @exception_type2
+ catch ptr @exception_type2
resume i32 %lp
}
@@ -666,18 +666,18 @@ declare void @external_func()
@exception_type2 = external global i8
-define internal void @inner() personality i8* null {
+define internal void @inner() personality ptr null {
invoke void @external_func()
to label %cont unwind label %lpad
cont:
ret void
lpad:
%lp = landingpad i32
- catch i8* @exception_type1
+ catch ptr @exception_type1
resume i32 %lp
}
-define void @outer(i32 %a) personality i8* null {
+define void @outer(i32 %a) personality ptr null {
entry:
%i = icmp slt i32 %a, 0
br i1 %i, label %if.then, label %cont
@@ -689,7 +689,7 @@ cont:
lpad:
%lp = landingpad i32
cleanup
- catch i8* @exception_type2
+ catch ptr @exception_type2
resume i32 %lp
}
@@ -931,9 +931,9 @@ TEST_F(FunctionPropertiesAnalysisTest, DetailedOperandCount) {
@a = global i64 1
define i64 @f1(i64 %e) {
- %b = load i64, i64* @a
+ %b = load i64, ptr @a
%c = add i64 %b, 2
- %d = call i64 asm "mov $1,$0", "=r,r" (i64 %c)
+ %d = call i64 asm "mov $1,$0", "=r,r" (i64 %c)
%f = add i64 %d, %e
ret i64 %f
}
diff --git a/llvm/unittests/Analysis/LazyCallGraphTest.cpp b/llvm/unittests/Analysis/LazyCallGraphTest.cpp
index 4a4ff32..5c0bfbd 100644
--- a/llvm/unittests/Analysis/LazyCallGraphTest.cpp
+++ b/llvm/unittests/Analysis/LazyCallGraphTest.cpp
@@ -142,78 +142,78 @@ static const char DiamondOfTriangles[] =
static const char DiamondOfTrianglesRefGraph[] =
"define void @a1() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @a2, void ()** %a\n"
- " store void ()* @b2, void ()** %a\n"
- " store void ()* @c3, void ()** %a\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 void ()*\n"
- " store void ()* @a3, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @a3, ptr %a\n"
" ret void\n"
"}\n"
"define void @a3() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @a1, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @a1, ptr %a\n"
" ret void\n"
"}\n"
"define void @b1() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @b2, void ()** %a\n"
- " store void ()* @d3, void ()** %a\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 void ()*\n"
- " store void ()* @b3, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @b3, ptr %a\n"
" ret void\n"
"}\n"
"define void @b3() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @b1, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @b1, ptr %a\n"
" ret void\n"
"}\n"
"define void @c1() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @c2, void ()** %a\n"
- " store void ()* @d2, void ()** %a\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 void ()*\n"
- " store void ()* @c3, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @c3, ptr %a\n"
" ret void\n"
"}\n"
"define void @c3() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @c1, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @c1, ptr %a\n"
" ret void\n"
"}\n"
"define void @d1() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @d2, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @d2, ptr %a\n"
" ret void\n"
"}\n"
"define void @d2() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @d3, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @d3, ptr %a\n"
" ret void\n"
"}\n"
"define void @d3() {\n"
"entry:\n"
- " %a = alloca void ()*\n"
- " store void ()* @d1, void ()** %a\n"
+ " %a = alloca ptr\n"
+ " store ptr @d1, ptr %a\n"
" ret void\n"
"}\n";
@@ -1005,20 +1005,20 @@ TEST(LazyCallGraphTest, IncomingEdgeInsertionLargeRefCycle) {
std::unique_ptr<Module> M =
parseAssembly(Context, "define void @a() {\n"
"entry:\n"
- " %p = alloca void ()*\n"
- " store void ()* @b, void ()** %p\n"
+ " %p = alloca ptr\n"
+ " store ptr @b, ptr %p\n"
" ret void\n"
"}\n"
"define void @b() {\n"
"entry:\n"
- " %p = alloca void ()*\n"
- " store void ()* @c, void ()** %p\n"
+ " %p = alloca ptr\n"
+ " store ptr @c, ptr %p\n"
" ret void\n"
"}\n"
"define void @c() {\n"
"entry:\n"
- " %p = alloca void ()*\n"
- " store void ()* @d, void ()** %p\n"
+ " %p = alloca ptr\n"
+ " store ptr @d, ptr %p\n"
" ret void\n"
"}\n"
"define void @d() {\n"
@@ -1306,25 +1306,25 @@ TEST(LazyCallGraphTest, InternalEdgeRemoval) {
LLVMContext Context;
// A nice fully connected (including self-edges) RefSCC.
std::unique_ptr<Module> M = parseAssembly(
- Context, "define void @a(i8** %ptr) {\n"
+ Context, "define void @a(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\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(i8** %ptr) {\n"
+ "define void @b(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\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(i8** %ptr) {\n"
+ "define void @c(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\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);
@@ -1384,25 +1384,25 @@ TEST(LazyCallGraphTest, InternalMultiEdgeRemoval) {
LLVMContext Context;
// A nice fully connected (including self-edges) RefSCC.
std::unique_ptr<Module> M = parseAssembly(
- Context, "define void @a(i8** %ptr) {\n"
+ Context, "define void @a(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\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(i8** %ptr) {\n"
+ "define void @b(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\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(i8** %ptr) {\n"
+ "define void @c(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\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);
@@ -1454,22 +1454,22 @@ 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(i8** %ptr) {\n"
+ Context, "define void @a(ptr %ptr) {\n"
"entry:\n"
- " call void @b(i8** %ptr)\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\n"
+ " call void @b(ptr %ptr)\n"
+ " store ptr @c, ptr %ptr\n"
" ret void\n"
"}\n"
- "define void @b(i8** %ptr) {\n"
+ "define void @b(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @a to i8*), i8** %ptr\n"
- " call void @c(i8** %ptr)\n"
+ " store ptr @a, ptr %ptr\n"
+ " call void @c(ptr %ptr)\n"
" ret void\n"
"}\n"
- "define void @c(i8** %ptr) {\n"
+ "define void @c(ptr %ptr) {\n"
"entry:\n"
- " call void @a(i8** %ptr)\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
+ " call void @a(ptr %ptr)\n"
+ " store ptr @b, ptr %ptr\n"
" ret void\n"
"}\n");
LazyCallGraph CG = buildCG(*M);
@@ -1622,24 +1622,24 @@ TEST(LazyCallGraphTest, InternalRefEdgeToCall) {
"entry:\n"
" call void @b()\n"
" call void @c()\n"
- " store void()* @d, void()** undef\n"
+ " store ptr @d, ptr undef\n"
" ret void\n"
"}\n"
"define void @b() {\n"
"entry:\n"
- " store void()* @c, void()** undef\n"
+ " store ptr @c, ptr undef\n"
" call void @d()\n"
" ret void\n"
"}\n"
"define void @c() {\n"
"entry:\n"
- " store void()* @b, void()** undef\n"
+ " store ptr @b, ptr undef\n"
" call void @d()\n"
" ret void\n"
"}\n"
"define void @d() {\n"
"entry:\n"
- " store void()* @a, void()** undef\n"
+ " store ptr @a, ptr undef\n"
" ret void\n"
"}\n");
LazyCallGraph CG = buildCG(*M);
@@ -1745,13 +1745,13 @@ TEST(LazyCallGraphTest, InternalRefEdgeToCallNoCycleInterleaved) {
"}\n"
"define void @c3() {\n"
"entry:\n"
- " store void()* @b1, void()** undef\n"
+ " store ptr @b1, ptr undef\n"
" call void @d()\n"
" ret void\n"
"}\n"
"define void @d() {\n"
"entry:\n"
- " store void()* @a, void()** undef\n"
+ " store ptr @a, ptr undef\n"
" ret void\n"
"}\n");
LazyCallGraph CG = buildCG(*M);
@@ -1875,13 +1875,13 @@ TEST(LazyCallGraphTest, InternalRefEdgeToCallBothPartitionAndMerge) {
"}\n"
"define void @f() {\n"
"entry:\n"
- " store void()* @b, void()** undef\n"
+ " store ptr @b, ptr undef\n"
" call void @g()\n"
" ret void\n"
"}\n"
"define void @g() {\n"
"entry:\n"
- " store void()* @a, void()** undef\n"
+ " store ptr @a, ptr undef\n"
" ret void\n"
"}\n");
LazyCallGraph CG = buildCG(*M);
@@ -1962,9 +1962,9 @@ TEST(LazyCallGraphTest, HandleBlockAddress) {
"bb:\n"
" unreachable\n"
"}\n"
- "define void @g(i8** %ptr) {\n"
+ "define void @g(ptr %ptr) {\n"
"entry:\n"
- " store i8* blockaddress(@f, %bb), i8** %ptr\n"
+ " store ptr blockaddress(@f, %bb), ptr %ptr\n"
" ret void\n"
"}\n");
LazyCallGraph CG = buildCG(*M);
@@ -1991,9 +1991,9 @@ TEST(LazyCallGraphTest, HandleBlockAddress2) {
parseAssembly(Context, "define void @f() {\n"
" ret void\n"
"}\n"
- "define void @g(i8** %ptr) {\n"
+ "define void @g(ptr %ptr) {\n"
"bb:\n"
- " store i8* blockaddress(@g, %bb), i8** %ptr\n"
+ " store ptr blockaddress(@g, %bb), ptr %ptr\n"
" ret void\n"
"}\n");
LazyCallGraph CG = buildCG(*M);
@@ -2018,31 +2018,31 @@ TEST(LazyCallGraphTest, ReplaceNodeFunction) {
// function.
std::unique_ptr<Module> M =
parseAssembly(Context,
- "define void @a(i8** %ptr) {\n"
+ "define void @a(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @d to i8*), i8** %ptr\n"
+ " store ptr @d, ptr %ptr\n"
" ret void\n"
"}\n"
- "define void @b(i8** %ptr) {\n"
+ "define void @b(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @d to i8*), i8** %ptr\n"
- " store i8* bitcast (void(i8**)* @d to i8*), i8** %ptr\n"
- " call void @d(i8** %ptr)"
+ " store ptr @d, ptr %ptr\n"
+ " store ptr @d, ptr %ptr\n"
+ " call void @d(ptr %ptr)"
" ret void\n"
"}\n"
- "define void @c(i8** %ptr) {\n"
+ "define void @c(ptr %ptr) {\n"
"entry:\n"
- " call void @d(i8** %ptr)"
- " call void @d(i8** %ptr)"
- " store i8* bitcast (void(i8**)* @d to i8*), i8** %ptr\n"
+ " call void @d(ptr %ptr)"
+ " call void @d(ptr %ptr)"
+ " store ptr @d, ptr %ptr\n"
" ret void\n"
"}\n"
- "define void @d(i8** %ptr) {\n"
+ "define void @d(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
- " call void @c(i8** %ptr)"
- " call void @d(i8** %ptr)"
- " store i8* bitcast (void(i8**)* @d to i8*), i8** %ptr\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);
@@ -2098,25 +2098,25 @@ TEST(LazyCallGraphTest, RemoveFunctionWithSpuriousRef) {
// A graph with a couple of RefSCCs.
std::unique_ptr<Module> M =
parseAssembly(Context,
- "define void @a(i8** %ptr) {\n"
+ "define void @a(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @d to i8*), i8** %ptr\n"
+ " store ptr @d, ptr %ptr\n"
" ret void\n"
"}\n"
- "define void @b(i8** %ptr) {\n"
+ "define void @b(ptr %ptr) {\n"
"entry:\n"
- " store i8* bitcast (void(i8**)* @c to i8*), i8** %ptr\n"
+ " store ptr @c, ptr %ptr\n"
" ret void\n"
"}\n"
- "define void @c(i8** %ptr) {\n"
+ "define void @c(ptr %ptr) {\n"
"entry:\n"
- " call void @d(i8** %ptr)"
+ " call void @d(ptr %ptr)"
" ret void\n"
"}\n"
- "define void @d(i8** %ptr) {\n"
+ "define void @d(ptr %ptr) {\n"
"entry:\n"
- " call void @c(i8** %ptr)"
- " store i8* bitcast (void(i8**)* @b to i8*), i8** %ptr\n"
+ " call void @c(ptr %ptr)"
+ " store ptr @b, ptr %ptr\n"
" ret void\n"
"}\n"
"define void @dead() {\n"
@@ -2965,7 +2965,7 @@ TEST(LazyCallGraphTest, AddSplitFunctions5) {
LLVMContext Context;
std::unique_ptr<Module> M =
parseAssembly(Context, "define void @f() {\n"
- " %1 = bitcast void ()* @f2 to i8*\n"
+ " %1 = bitcast ptr @f2 to ptr\n"
" ret void\n"
"}\n"
"define void @f2() {\n"
diff --git a/llvm/unittests/Analysis/SparsePropagation.cpp b/llvm/unittests/Analysis/SparsePropagation.cpp
index ca73a48..0cbf5de 100644
--- a/llvm/unittests/Analysis/SparsePropagation.cpp
+++ b/llvm/unittests/Analysis/SparsePropagation.cpp
@@ -357,9 +357,9 @@ TEST_F(SparsePropagationTest, GlobalVariableOverDefined) {
/// Test that we propagate information through function returns.
///
-/// define internal i64 @f(i1* %cond) {
+/// define internal i64 @f(ptr %cond) {
/// if:
-/// %0 = load i1, i1* %cond
+/// %0 = load i1, ptr %cond
/// br i1 %0, label %then, label %else
///
/// then:
@@ -397,9 +397,9 @@ TEST_F(SparsePropagationTest, FunctionDefined) {
/// Test that we propagate information through function returns.
///
-/// define internal i64 @f(i1* %cond) {
+/// define internal i64 @f(ptr %cond) {
/// if:
-/// %0 = load i1, i1* %cond
+/// %0 = load i1, ptr %cond
/// br i1 %0, label %then, label %else
///
/// then:
diff --git a/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp b/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
index d5ba175..3c7ee7ad 100644
--- a/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
+++ b/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
@@ -214,18 +214,18 @@ TEST(UnrollAnalyzerTest, PtrCmpSimplifications) {
"target datalayout = \"e-m:o-i64:64-f80:128-n8:16:32:64-S128\"\n"
"define void @ptr_cmp(i8 *%a) {\n"
"entry:\n"
- " %limit = getelementptr i8, i8* %a, i64 40\n"
- " %start.iv2 = getelementptr i8, i8* %a, i64 7\n"
+ " %limit = getelementptr i8, ptr %a, i64 40\n"
+ " %start.iv2 = getelementptr i8, ptr %a, i64 7\n"
" br label %loop.body\n"
"loop.body:\n"
- " %iv.0 = phi i8* [ %a, %entry ], [ %iv.1, %loop.body ]\n"
- " %iv2.0 = phi i8* [ %start.iv2, %entry ], [ %iv2.1, %loop.body ]\n"
- " %cmp = icmp eq i8* %iv2.0, %iv.0\n"
- " %cmp2 = icmp slt i8* %iv2.0, %iv.0\n"
- " %cmp3 = icmp ult i8* %iv2.0, %iv.0\n"
- " %iv.1 = getelementptr inbounds i8, i8* %iv.0, i64 1\n"
- " %iv2.1 = getelementptr inbounds i8, i8* %iv2.0, i64 1\n"
- " %exitcond = icmp ne i8* %iv.1, %limit\n"
+ " %iv.0 = phi ptr [ %a, %entry ], [ %iv.1, %loop.body ]\n"
+ " %iv2.0 = phi ptr [ %start.iv2, %entry ], [ %iv2.1, %loop.body ]\n"
+ " %cmp = icmp eq ptr %iv2.0, %iv.0\n"
+ " %cmp2 = icmp slt ptr %iv2.0, %iv.0\n"
+ " %cmp3 = icmp ult ptr %iv2.0, %iv.0\n"
+ " %iv.1 = getelementptr inbounds i8, ptr %iv.0, i64 1\n"
+ " %iv2.1 = getelementptr inbounds i8, ptr %iv2.0, i64 1\n"
+ " %exitcond = icmp ne ptr %iv.1, %limit\n"
" br i1 %exitcond, label %loop.body, label %loop.exit\n"
"loop.exit:\n"
" ret void\n"
@@ -248,14 +248,14 @@ TEST(UnrollAnalyzerTest, PtrCmpSimplifications) {
Instruction *Cmp2 = &*BBI++;
Instruction *Cmp3 = &*BBI++;
// Check simplification expected on the 5th iteration.
- // Check that "%cmp = icmp eq i8* %iv2.0, %iv.0" is simplified to 0.
+ // Check that "%cmp = icmp eq ptr %iv2.0, %iv.0" is simplified to 0.
auto I1 = SimplifiedValuesVector[5].find(Cmp1);
EXPECT_TRUE(I1 != SimplifiedValuesVector[5].end());
EXPECT_EQ(cast<ConstantInt>((*I1).second)->getZExtValue(), 0U);
- // Check that "%cmp2 = icmp slt i8* %iv2.0, %iv.0" does not simplify
+ // Check that "%cmp2 = icmp slt ptr %iv2.0, %iv.0" does not simplify
auto I2 = SimplifiedValuesVector[5].find(Cmp2);
EXPECT_TRUE(I2 == SimplifiedValuesVector[5].end());
- // Check that "%cmp3 = icmp ult i8* %iv2.0, %iv.0" is simplified to 0.
+ // Check that "%cmp3 = icmp ult ptr %iv2.0, %iv.0" is simplified to 0.
auto I3 = SimplifiedValuesVector[5].find(Cmp3);
EXPECT_TRUE(I3 != SimplifiedValuesVector[5].end());
EXPECT_EQ(cast<ConstantInt>((*I1).second)->getZExtValue(), 0U);
@@ -271,8 +271,8 @@ TEST(UnrollAnalyzerTest, CastSimplifications) {
"\n"
"loop:\n"
" %iv = phi i64 [ 0, %entry ], [ %inc, %loop ]\n"
- " %array_const_idx = getelementptr inbounds [10 x i32], [10 x i32]* @known_constant, i64 0, i64 %iv\n"
- " %const_array_element = load i32, i32* %array_const_idx, align 4\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"
" %tr = trunc i32 %const_array_element to i8\n"
diff --git a/llvm/unittests/Analysis/ValueTrackingTest.cpp b/llvm/unittests/Analysis/ValueTrackingTest.cpp
index bb0280ee..89a0fae 100644
--- a/llvm/unittests/Analysis/ValueTrackingTest.cpp
+++ b/llvm/unittests/Analysis/ValueTrackingTest.cpp
@@ -2697,9 +2697,9 @@ 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 float*"
- " %APtrPlus512 = getelementptr float, float* %APtr, i32 128\n"
- " %c = icmp ugt float* %APtrPlus512, inttoptr (i32 523 to float*)\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"
@@ -2730,9 +2730,9 @@ 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 float*"
- " %APtrPlus512 = getelementptr float, float* %APtr, i32 128\n"
- " %c = icmp ugt float* %APtrPlus512, inttoptr (i32 523 to float*)\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"
diff --git a/llvm/unittests/MIR/MachineMetadata.cpp b/llvm/unittests/MIR/MachineMetadata.cpp
index 5875512..8c36377 100644
--- a/llvm/unittests/MIR/MachineMetadata.cpp
+++ b/llvm/unittests/MIR/MachineMetadata.cpp
@@ -205,8 +205,8 @@ TEST_F(MachineMetadataTest, MMSlotTrackerAArch64) {
StringRef MIRString = R"MIR(
--- |
- define i32 @test0(i32* %p) {
- %r = load i32, i32* %p, align 4
+ define i32 @test0(ptr %p) {
+ %r = load i32, ptr %p, align 4
ret i32 %r
}
...
@@ -354,8 +354,8 @@ TEST_F(MachineMetadataTest, MMSlotTrackerX64) {
StringRef MIRString = R"MIR(
--- |
- define i32 @test0(i32* %p) {
- %r = load i32, i32* %p, align 4
+ define i32 @test0(ptr %p) {
+ %r = load i32, ptr %p, align 4
ret i32 %r
}
...
@@ -446,8 +446,8 @@ TEST_F(MachineMetadataTest, MMSlotTrackerAMDGPU) {
StringRef MIRString = R"MIR(
--- |
- define i32 @test0(i32* %p) {
- %r = load i32, i32* %p, align 4
+ define i32 @test0(ptr %p) {
+ %r = load i32, ptr %p, align 4
ret i32 %r
}
...
diff --git a/llvm/unittests/Support/HashBuilderTest.cpp b/llvm/unittests/Support/HashBuilderTest.cpp
index 0aacfcd..70cb92b 100644
--- a/llvm/unittests/Support/HashBuilderTest.cpp
+++ b/llvm/unittests/Support/HashBuilderTest.cpp
@@ -15,7 +15,6 @@
#include <list>
#include <string>
-#include <type_traits>
#include <utility>
#include <vector>
diff --git a/llvm/unittests/Support/NativeFormatTests.cpp b/llvm/unittests/Support/NativeFormatTests.cpp
index ac04c5a..974709e 100644
--- a/llvm/unittests/Support/NativeFormatTests.cpp
+++ b/llvm/unittests/Support/NativeFormatTests.cpp
@@ -10,8 +10,6 @@
#include "llvm/Support/raw_ostream.h"
#include "gtest/gtest.h"
-#include <type_traits>
-
using namespace llvm;
namespace {
diff --git a/llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp b/llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
index da71300..321c092 100644
--- a/llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
+++ b/llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
@@ -20,7 +20,6 @@
#include "gtest/gtest.h"
#include <gmock/gmock.h>
#include <string>
-#include <utility>
namespace llvm {
diff --git a/llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp b/llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
index d7f2908..c36ed93 100644
--- a/llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
+++ b/llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
@@ -75,7 +75,7 @@ TEST(WebAssemblyExceptionInfoTest, TEST0) {
declare i32 @__gxx_wasm_personality_v0(...)
- define void @test0() personality i8* bitcast (i32 (...)* @__gxx_wasm_personality_v0 to i8*) {
+ define void @test0() personality ptr @__gxx_wasm_personality_v0 {
unreachable
}
@@ -237,7 +237,7 @@ TEST(WebAssemblyExceptionInfoTest, TEST1) {
declare i32 @__gxx_wasm_personality_v0(...)
- define void @test1() personality i8* bitcast (i32 (...)* @__gxx_wasm_personality_v0 to i8*) {
+ define void @test1() personality ptr @__gxx_wasm_personality_v0 {
unreachable
}
diff --git a/llvm/unittests/TargetParser/TripleTest.cpp b/llvm/unittests/TargetParser/TripleTest.cpp
index 3e80369..df8284d 100644
--- a/llvm/unittests/TargetParser/TripleTest.cpp
+++ b/llvm/unittests/TargetParser/TripleTest.cpp
@@ -2630,6 +2630,17 @@ TEST(TripleTest, isMacOSVersionLT) {
EXPECT_FALSE(T.isMacOSXVersionLT(10, 15, 0));
}
+TEST(TripleTest, isMacOSVersionGE) {
+ Triple T = Triple("x86_64-apple-macos11");
+ EXPECT_FALSE(T.isMacOSXVersionGE(11, 1, 0));
+ EXPECT_TRUE(T.isMacOSXVersionGE(10, 15, 0));
+
+ T = Triple("x86_64-apple-darwin20");
+ EXPECT_FALSE(T.isMacOSXVersionGE(11, 1, 0));
+ EXPECT_TRUE(T.isMacOSXVersionGE(11, 0, 0));
+ EXPECT_TRUE(T.isMacOSXVersionGE(10, 15, 0));
+}
+
TEST(TripleTest, CanonicalizeOSVersion) {
EXPECT_EQ(VersionTuple(10, 15, 4),
Triple::getCanonicalVersionForOS(Triple::MacOSX,
diff --git a/llvm/unittests/Transforms/IPO/AttributorTest.cpp b/llvm/unittests/Transforms/IPO/AttributorTest.cpp
index e442dae..e345c60 100644
--- a/llvm/unittests/Transforms/IPO/AttributorTest.cpp
+++ b/llvm/unittests/Transforms/IPO/AttributorTest.cpp
@@ -78,17 +78,17 @@ TEST_F(AttributorTestBase, AAReachabilityTest) {
const char *ModuleString = R"(
@x = external global i32
define void @func4() {
- store i32 0, i32* @x
+ store i32 0, ptr @x
ret void
}
define internal void @func3() {
- store i32 0, i32* @x
+ store i32 0, ptr @x
ret void
}
define internal void @func8() {
- store i32 0, i32* @x
+ store i32 0, ptr @x
ret void
}
@@ -105,7 +105,7 @@ TEST_F(AttributorTestBase, AAReachabilityTest) {
}
declare void @unknown()
- define internal void @func5(void ()* %ptr) {
+ define internal void @func5(ptr %ptr) {
entry:
call void %ptr()
call void @unknown()
@@ -114,8 +114,8 @@ TEST_F(AttributorTestBase, AAReachabilityTest) {
define void @func6() {
entry:
- store i32 0, i32* @x
- call void @func5(void ()* @func3)
+ store i32 0, ptr @x
+ call void @func5(ptr @func3)
ret void
}
diff --git a/llvm/unittests/Transforms/Scalar/LICMTest.cpp b/llvm/unittests/Transforms/Scalar/LICMTest.cpp
index 98a69bb..a193993b 100644
--- a/llvm/unittests/Transforms/Scalar/LICMTest.cpp
+++ b/llvm/unittests/Transforms/Scalar/LICMTest.cpp
@@ -37,13 +37,13 @@ TEST(LICMTest, TestSCEVInvalidationOnHoisting) {
SMDiagnostic Error;
StringRef Text = R"(
- define void @foo(i64* %ptr) {
+ define void @foo(ptr %ptr) {
entry:
br label %loop
loop:
%iv = phi i64 [ 0, %entry ], [ %iv.inc, %loop ]
- %n = load i64, i64* %ptr, !invariant.load !0
+ %n = load i64, ptr %ptr, !invariant.load !0
%iv.inc = add i64 %iv, 1
%cmp = icmp ult i64 %iv.inc, %n
br i1 %cmp, label %loop, label %exit
@@ -62,17 +62,17 @@ TEST(LICMTest, TestSCEVInvalidationOnHoisting) {
BasicBlock &EntryBB = F->getEntryBlock();
BasicBlock *LoopBB = EntryBB.getUniqueSuccessor();
- // Select `load i64, i64* %ptr`.
+ // Select `load i64, ptr %ptr`.
Instruction *IBefore = &*LoopBB->getFirstNonPHIIt();
// Make sure the right instruction was selected.
ASSERT_TRUE(isa<LoadInst>(IBefore));
- // Upon this query SCEV caches disposition of <load i64, i64* %ptr> SCEV.
+ // Upon this query SCEV caches disposition of <load i64, ptr %ptr> SCEV.
ASSERT_EQ(SE.getBlockDisposition(SE.getSCEV(IBefore), LoopBB),
ScalarEvolution::BlockDisposition::DominatesBlock);
MPM.run(*M, MAM);
- // Select `load i64, i64* %ptr` after it was hoisted.
+ // Select `load i64, ptr %ptr` after it was hoisted.
Instruction *IAfter = &*EntryBB.getFirstNonPHIIt();
// Make sure the right instruction was selected.
ASSERT_TRUE(isa<LoadInst>(IAfter));
@@ -84,7 +84,7 @@ TEST(LICMTest, TestSCEVInvalidationOnHoisting) {
SE.getBlockDisposition(SE.getSCEV(IAfter), LoopBB);
// If LICM have properly invalidated SCEV,
- // 1. SCEV of <load i64, i64* %ptr> should properly dominate the "loop" BB,
+ // 1. SCEV of <load i64, ptr %ptr> should properly dominate the "loop" BB,
// 2. extra invalidation shouldn't change result of the query.
EXPECT_EQ(DispositionBeforeInvalidation,
ScalarEvolution::BlockDisposition::ProperlyDominatesBlock);
diff --git a/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp b/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
index cb3d1001..88eaa87 100644
--- a/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
+++ b/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
@@ -265,21 +265,21 @@ protected:
public:
LoopPassManagerTest()
: M(parseIR(Context,
- "define void @f(i1* %ptr) {\n"
+ "define void @f(ptr %ptr) {\n"
"entry:\n"
" br label %loop.0\n"
"loop.0:\n"
- " %cond.0 = load volatile i1, i1* %ptr\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, i1* %ptr\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, i1* %ptr\n"
+ " %cond.0.1 = load volatile i1, ptr %ptr\n"
" br i1 %cond.0.1, label %loop.0.1, label %loop.0.latch\n"
"loop.0.latch:\n"
" br label %loop.0\n"
@@ -287,11 +287,11 @@ public:
" ret void\n"
"}\n"
"\n"
- "define void @g(i1* %ptr) {\n"
+ "define void @g(ptr %ptr) {\n"
"entry:\n"
" br label %loop.g.0\n"
"loop.g.0:\n"
- " %cond.0 = load volatile i1, i1* %ptr\n"
+ " %cond.0 = load volatile i1, ptr %ptr\n"
" br i1 %cond.0, label %loop.g.0, label %end\n"
"end:\n"
" ret void\n"
@@ -861,26 +861,26 @@ 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(i1* %ptr) {\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\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"
@@ -1064,28 +1064,28 @@ 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(i1* %ptr) {\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\n"
+ " %cond.2 = load volatile i1, ptr %ptr\n"
" br i1 %cond.2, label %loop.2, label %end\n"
"end:\n"
" ret void\n"
@@ -1318,31 +1318,31 @@ 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(i1* %ptr) {\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\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, i1* %ptr\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"
diff --git a/llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp b/llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
index 4235c93..00d9e9f 100644
--- a/llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
+++ b/llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
@@ -484,9 +484,9 @@ exit:
TEST(BasicBlockUtils, SplitIndirectBrCriticalEdgesIgnorePHIs) {
LLVMContext C;
std::unique_ptr<Module> M = parseIR(C, R"IR(
-define void @crit_edge(i8* %tgt, i1 %cond0, i1 %cond1) {
+define void @crit_edge(ptr %tgt, i1 %cond0, i1 %cond1) {
entry:
- indirectbr i8* %tgt, [label %bb0, label %bb1, label %bb2]
+ indirectbr ptr %tgt, [label %bb0, label %bb1, label %bb2]
bb0:
br i1 %cond0, label %bb1, label %bb2
bb1:
@@ -526,9 +526,9 @@ bb4:
TEST(BasicBlockUtils, SplitIndirectBrCriticalEdges) {
LLVMContext C;
std::unique_ptr<Module> M = parseIR(C, R"IR(
-define void @crit_edge(i8* %tgt, i1 %cond0, i1 %cond1) {
+define void @crit_edge(ptr %tgt, i1 %cond0, i1 %cond1) {
entry:
- indirectbr i8* %tgt, [label %bb0, label %bb1, label %bb2]
+ indirectbr ptr %tgt, [label %bb0, label %bb1, label %bb2]
bb0:
br i1 %cond0, label %bb1, label %bb2
bb1:
diff --git a/llvm/unittests/Transforms/Utils/CloningTest.cpp b/llvm/unittests/Transforms/Utils/CloningTest.cpp
index d990808..237bc6e 100644
--- a/llvm/unittests/Transforms/Utils/CloningTest.cpp
+++ b/llvm/unittests/Transforms/Utils/CloningTest.cpp
@@ -394,7 +394,7 @@ TEST(CloneLoop, CloneLoopNest) {
std::unique_ptr<Module> M = parseIR(
Context,
- R"(define void @foo(i32* %A, i32 %ub) {
+ 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
@@ -408,8 +408,8 @@ for.inner.preheader:
for.inner:
%i = phi i32 [ 0, %for.inner.preheader ], [ %inc, %for.inner ]
%idxprom = sext i32 %i to i64
- %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom
- store i32 %i, i32* %arrayidx, align 4
+ %arrayidx = getelementptr inbounds i32, ptr %A, i64 %idxprom
+ store i32 %i, ptr %arrayidx, align 4
%inc = add nsw i32 %i, 1
%cmp = icmp slt i32 %inc, %ub
br i1 %cmp, label %for.inner, label %for.inner.exit
@@ -728,10 +728,10 @@ TEST(CloneFunction, CloneEmptyFunction) {
TEST(CloneFunction, CloneFunctionWithInalloca) {
StringRef ImplAssembly = R"(
- declare void @a(i32* inalloca(i32))
+ declare void @a(ptr inalloca(i32))
define void @foo() {
%a = alloca inalloca i32
- call void @a(i32* inalloca(i32) %a)
+ call void @a(ptr inalloca(i32) %a)
ret void
}
declare void @bar()
diff --git a/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp b/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
index 9ea8de3..90f0620 100644
--- a/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
+++ b/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
@@ -154,13 +154,13 @@ TEST(CodeExtractor, ExitBlockOrderingPhis) {
%0 = alloca i32, align 4
br label %test0
test0:
- %c = load i32, i32* %0, align 4
+ %c = load i32, ptr %0, align 4
br label %test1
test1:
- %e = load i32, i32* %0, align 4
+ %e = load i32, ptr %0, align 4
br i1 true, label %first, label %test
test:
- %d = load i32, i32* %0, align 4
+ %d = load i32, ptr %0, align 4
br i1 true, label %first, label %next
first:
%1 = phi i32 [ %c, %test ], [ %e, %test1 ]
@@ -212,13 +212,13 @@ TEST(CodeExtractor, ExitBlockOrdering) {
%0 = alloca i32, align 4
br label %test0
test0:
- %c = load i32, i32* %0, align 4
+ %c = load i32, ptr %0, align 4
br label %test1
test1:
- %e = load i32, i32* %0, align 4
+ %e = load i32, ptr %0, align 4
br i1 true, label %first, label %test
test:
- %d = load i32, i32* %0, align 4
+ %d = load i32, ptr %0, align 4
br i1 true, label %first, label %next
first:
ret void
@@ -317,7 +317,7 @@ TEST(CodeExtractor, StoreOutputInvokeResultAfterEHPad) {
std::unique_ptr<Module> M(parseAssemblyString(R"invalid(
declare i8 @hoge()
- define i32 @foo() personality i8* null {
+ define i32 @foo() personality ptr null {
entry:
%call = invoke i8 @hoge()
to label %invoke.cont unwind label %lpad
@@ -326,8 +326,8 @@ TEST(CodeExtractor, StoreOutputInvokeResultAfterEHPad) {
unreachable
lpad: ; preds = %entry
- %0 = landingpad { i8*, i32 }
- catch i8* null
+ %0 = landingpad { ptr, i32 }
+ catch ptr null
br i1 undef, label %catch, label %finally.catchall
catch: ; preds = %lpad
@@ -342,13 +342,13 @@ TEST(CodeExtractor, StoreOutputInvokeResultAfterEHPad) {
unreachable
lpad2: ; preds = %invoke.cont2, %catch
- %ex.1 = phi i8* [ undef, %invoke.cont2 ], [ null, %catch ]
- %1 = landingpad { i8*, i32 }
- catch i8* null
+ %ex.1 = phi ptr [ undef, %invoke.cont2 ], [ null, %catch ]
+ %1 = landingpad { ptr, i32 }
+ catch ptr null
br label %finally.catchall
finally.catchall: ; preds = %lpad33, %lpad
- %ex.2 = phi i8* [ %ex.1, %lpad2 ], [ null, %lpad ]
+ %ex.2 = phi ptr [ %ex.1, %lpad2 ], [ null, %lpad ]
unreachable
}
)invalid", Err, Ctx));
@@ -384,7 +384,7 @@ TEST(CodeExtractor, StoreOutputInvokeResultInExitStub) {
std::unique_ptr<Module> M(parseAssemblyString(R"invalid(
declare i32 @bar()
- define i32 @foo() personality i8* null {
+ define i32 @foo() personality ptr null {
entry:
%0 = invoke i32 @bar() to label %exit unwind label %lpad
@@ -392,9 +392,9 @@ TEST(CodeExtractor, StoreOutputInvokeResultInExitStub) {
ret i32 %0
lpad:
- %1 = landingpad { i8*, i32 }
+ %1 = landingpad { ptr, i32 }
cleanup
- resume { i8*, i32 } %1
+ resume { ptr, i32 } %1
}
)invalid",
Err, Ctx));
@@ -421,7 +421,7 @@ TEST(CodeExtractor, ExtractAndInvalidateAssumptionCache) {
target triple = "aarch64"
%b = type { i64 }
- declare void @g(i8*)
+ declare void @g(ptr)
declare void @llvm.assume(i1) #0
@@ -430,9 +430,9 @@ TEST(CodeExtractor, ExtractAndInvalidateAssumptionCache) {
br label %label
label:
- %0 = load %b*, %b** inttoptr (i64 8 to %b**), align 8
- %1 = getelementptr inbounds %b, %b* %0, i64 undef, i32 0
- %2 = load i64, i64* %1, align 8
+ %0 = load ptr, ptr inttoptr (i64 8 to ptr), align 8
+ %1 = getelementptr inbounds %b, ptr %0, i64 undef, i32 0
+ %2 = load i64, ptr %1, align 8
%3 = icmp ugt i64 %2, 1
br i1 %3, label %if.then, label %if.else
@@ -440,8 +440,8 @@ TEST(CodeExtractor, ExtractAndInvalidateAssumptionCache) {
unreachable
if.else:
- call void @g(i8* undef)
- store i64 undef, i64* null, align 536870912
+ call void @g(ptr undef)
+ store i64 undef, ptr null, align 536870912
%4 = icmp eq i64 %2, 0
call void @llvm.assume(i1 %4)
unreachable
@@ -473,9 +473,9 @@ TEST(CodeExtractor, RemoveBitcastUsesFromOuterLifetimeMarkers) {
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- declare void @use(i32*)
- declare void @llvm.lifetime.start.p0i8(i64, i8*)
- declare void @llvm.lifetime.end.p0i8(i64, i8*)
+ declare void @use(ptr)
+ declare void @llvm.lifetime.start.p0i8(i64, ptr)
+ declare void @llvm.lifetime.end.p0i8(i64, ptr)
define void @foo() {
entry:
@@ -483,14 +483,14 @@ TEST(CodeExtractor, RemoveBitcastUsesFromOuterLifetimeMarkers) {
br label %extract
extract:
- %1 = bitcast i32* %0 to i8*
- call void @llvm.lifetime.start.p0i8(i64 4, i8* %1)
- call void @use(i32* %0)
+ %1 = bitcast ptr %0 to ptr
+ call void @llvm.lifetime.start.p0i8(i64 4, ptr %1)
+ call void @use(ptr %0)
br label %exit
exit:
- call void @use(i32* %0)
- call void @llvm.lifetime.end.p0i8(i64 4, i8* %1)
+ call void @use(ptr %0)
+ call void @llvm.lifetime.end.p0i8(i64 4, ptr %1)
ret void
}
)ir",
diff --git a/llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp b/llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
index 9466977..191ccc3 100644
--- a/llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
+++ b/llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
@@ -75,21 +75,21 @@ TEST(CodeMoverUtils, IsControlFlowEquivalentSimpleTest) {
// i = 3;
// }
std::unique_ptr<Module> M =
- parseIR(C, R"(define void @foo(i32* %i, i1 %cond1, i1 %cond2) {
+ parseIR(C, R"(define void @foo(ptr %i, i1 %cond1, i1 %cond2) {
entry:
br i1 %cond1, label %if.first, label %if.first.end
if.first:
- store i32 1, i32* %i, align 4
+ store i32 1, ptr %i, align 4
br label %if.first.end
if.first.end:
br i1 %cond1, label %if.second, label %if.second.end
if.second:
- store i32 2, i32* %i, align 4
+ store i32 2, ptr %i, align 4
br label %if.second.end
if.second.end:
br i1 %cond2, label %if.third, label %if.third.end
if.third:
- store i32 3, i32* %i, align 4
+ store i32 3, ptr %i, align 4
br label %if.third.end
if.third.end:
ret void
@@ -136,51 +136,51 @@ TEST(CodeMoverUtils, IsControlFlowEquivalentOppositeCondTest) {
// i = 9;
// }
std::unique_ptr<Module> M =
- parseIR(C, R"(define void @foo(i32* %i, i32 %X, i32 %Y) {
+ parseIR(C, R"(define void @foo(ptr %i, i32 %X, i32 %Y) {
entry:
%cmp1 = icmp ult i32 %X, %Y
br i1 %cmp1, label %if.first, label %if.first.end
if.first:
- store i32 1, i32* %i, align 4
+ store i32 1, ptr %i, align 4
br label %if.first.end
if.first.end:
%cmp2 = icmp ugt i32 %Y, %X
br i1 %cmp2, label %if.second, label %if.second.end
if.second:
- store i32 2, i32* %i, align 4
+ store i32 2, ptr %i, align 4
br label %if.second.end
if.second.end:
%cmp3 = icmp uge i32 %X, %Y
br i1 %cmp3, label %if.third, label %if.third.else
if.third:
- store i32 3, i32* %i, align 4
+ store i32 3, ptr %i, align 4
br label %if.third.end
if.third.else:
- store i32 4, i32* %i, align 4
+ store i32 4, ptr %i, align 4
br label %if.third.end
if.third.end:
%cmp4 = icmp eq i32 %X, %Y
br i1 %cmp4, label %if.fourth, label %if.fourth.end
if.fourth:
- store i32 5, i32* %i, align 4
+ store i32 5, ptr %i, align 4
br label %if.fourth.end
if.fourth.end:
%cmp5 = icmp eq i32 %Y, %X
br i1 %cmp5, label %if.fifth, label %if.fifth.else
if.fifth:
- store i32 6, i32* %i, align 4
+ store i32 6, ptr %i, align 4
br label %if.fifth.end
if.fifth.else:
- store i32 7, i32* %i, align 4
+ store i32 7, ptr %i, align 4
br label %if.fifth.end
if.fifth.end:
%cmp6 = icmp ne i32 %X, %Y
br i1 %cmp6, label %if.sixth, label %if.sixth.else
if.sixth:
- store i32 8, i32* %i, align 4
+ store i32 8, ptr %i, align 4
br label %if.sixth.end
if.sixth.else:
- store i32 9, i32* %i, align 4
+ store i32 9, ptr %i, align 4
br label %if.sixth.end
if.sixth.end:
ret void
@@ -227,20 +227,20 @@ TEST(CodeMoverUtils, IsControlFlowEquivalentCondNestTest) {
// i = 2;
// }
std::unique_ptr<Module> M =
- parseIR(C, R"(define void @foo(i32* %i, i1 %cond1, i1 %cond2) {
+ parseIR(C, R"(define void @foo(ptr %i, i1 %cond1, i1 %cond2) {
entry:
br i1 %cond1, label %if.outer.first, label %if.first.end
if.outer.first:
br i1 %cond2, label %if.inner.first, label %if.first.end
if.inner.first:
- store i32 1, i32* %i, align 4
+ store i32 1, ptr %i, align 4
br label %if.first.end
if.first.end:
br i1 %cond2, label %if.outer.second, label %if.second.end
if.outer.second:
br i1 %cond1, label %if.inner.second, label %if.second.end
if.inner.second:
- store i32 2, i32* %i, align 4
+ store i32 2, ptr %i, align 4
br label %if.second.end
if.second.end:
ret void
@@ -283,7 +283,7 @@ TEST(CodeMoverUtils, IsControlFlowEquivalentImbalanceTest) {
// i = 4;
// }
std::unique_ptr<Module> M =
- parseIR(C, R"(define void @foo(i32* %i, i1 %cond1, i1 %cond2, i1 %cond3) {
+ parseIR(C, R"(define void @foo(ptr %i, i1 %cond1, i1 %cond2, i1 %cond3) {
entry:
br i1 %cond1, label %if.outer.first, label %if.first.end
if.outer.first:
@@ -291,26 +291,26 @@ TEST(CodeMoverUtils, IsControlFlowEquivalentImbalanceTest) {
if.middle.first:
br i1 %cond3, label %if.inner.first, label %if.first.end
if.inner.first:
- store i32 1, i32* %i, align 4
+ store i32 1, ptr %i, align 4
br label %if.first.end
if.first.end:
br i1 %cond2, label %if.outer.second, label %if.second.end
if.outer.second:
br i1 %cond3, label %if.inner.second, label %if.second.end
if.inner.second:
- store i32 2, i32* %i, align 4
+ store i32 2, ptr %i, align 4
br label %if.second.end
if.second.end:
br i1 %cond1, label %if.outer.third, label %if.third.end
if.outer.third:
br i1 %cond1, label %if.inner.third, label %if.third.end
if.inner.third:
- store i32 3, i32* %i, align 4
+ store i32 3, ptr %i, align 4
br label %if.third.end
if.third.end:
br i1 %cond1, label %if.fourth, label %if.fourth.end
if.fourth:
- store i32 4, i32* %i, align 4
+ store i32 4, ptr %i, align 4
br label %if.fourth.end
if.fourth.end:
ret void
@@ -343,28 +343,28 @@ TEST(CodeMoverUtils, IsControlFlowEquivalentPointerTest) {
// i = 3;
// }
std::unique_ptr<Module> M =
- parseIR(C, R"(define void @foo(i32* %i, i32* %cond) {
+ parseIR(C, R"(define void @foo(ptr %i, ptr %cond) {
entry:
- %0 = load i32, i32* %cond, align 4
+ %0 = load i32, ptr %cond, align 4
%tobool1 = icmp ne i32 %0, 0
br i1 %tobool1, label %if.first, label %if.first.end
if.first:
- store i32 1, i32* %i, align 4
+ store i32 1, ptr %i, align 4
br label %if.first.end
if.first.end:
- %1 = load i32, i32* %cond, align 4
+ %1 = load i32, ptr %cond, align 4
%tobool2 = icmp ne i32 %1, 0
br i1 %tobool2, label %if.second, label %if.second.end
if.second:
- store i32 2, i32* %i, align 4
+ store i32 2, ptr %i, align 4
br label %if.second.end
if.second.end:
- store i32 1, i32* %cond, align 4
- %2 = load i32, i32* %cond, align 4
+ store i32 1, ptr %cond, align 4
+ %2 = load i32, ptr %cond, align 4
%tobool3 = icmp ne i32 %2, 0
br i1 %tobool3, label %if.third, label %if.third.end
if.third:
- store i32 3, i32* %i, align 4
+ store i32 3, ptr %i, align 4
br label %if.third.end
if.third.end:
ret void
@@ -450,7 +450,7 @@ TEST(CodeMoverUtils, IsSafeToMoveTest1) {
// }
// }
std::unique_ptr<Module> M = parseIR(
- C, R"(define void @foo(i32* noalias %A, i32* noalias %B, i32* noalias %C
+ C, R"(define void @foo(ptr noalias %A, ptr noalias %B, ptr noalias %C
, i64 %N) {
entry:
%X = sdiv i64 1, %N
@@ -461,18 +461,18 @@ TEST(CodeMoverUtils, IsSafeToMoveTest1) {
br i1 %cmp1, label %for.body, label %for.end
for.body:
%i = phi i64 [ 0, %entry ], [ %inc, %for.body ]
- %arrayidx_A5 = getelementptr inbounds i32, i32* %A, i64 5
- store i32 5, i32* %arrayidx_A5, align 4
- %arrayidx_A = getelementptr inbounds i32, i32* %A, i64 %i
- store i32 0, i32* %arrayidx_A, align 4
- %load1 = load i32, i32* %arrayidx_A, align 4
- %arrayidx_B = getelementptr inbounds i32, i32* %B, i64 %i
- store i32 %load1, i32* %arrayidx_B, align 4
- %load2 = load i32, i32* %arrayidx_A, align 4
- %arrayidx_C = getelementptr inbounds i32, i32* %C, i64 %i
- store i32 %load2, i32* %arrayidx_C, align 4
- %arrayidx_A6 = getelementptr inbounds i32, i32* %A, i64 6
- store i32 6, i32* %arrayidx_A6, align 4
+ %arrayidx_A5 = getelementptr inbounds i32, ptr %A, i64 5
+ store i32 5, ptr %arrayidx_A5, align 4
+ %arrayidx_A = getelementptr inbounds i32, ptr %A, i64 %i
+ store i32 0, ptr %arrayidx_A, align 4
+ %load1 = load i32, ptr %arrayidx_A, align 4
+ %arrayidx_B = getelementptr inbounds i32, ptr %B, i64 %i
+ store i32 %load1, ptr %arrayidx_B, align 4
+ %load2 = load i32, ptr %arrayidx_A, align 4
+ %arrayidx_C = getelementptr inbounds i32, ptr %C, i64 %i
+ store i32 %load2, ptr %arrayidx_C, align 4
+ %arrayidx_A6 = getelementptr inbounds i32, ptr %A, i64 6
+ store i32 6, ptr %arrayidx_A6, align 4
%inc = add nsw i64 %i, 1
%cmp = icmp slt i64 %inc, %N
br i1 %cmp, label %for.body, label %for.end
@@ -686,19 +686,19 @@ TEST(CodeMoverUtils, IsSafeToMoveTest5) {
LLVMContext C;
std::unique_ptr<Module> M =
- parseIR(C, R"(define void @dependence(i32* noalias %A, i32* noalias %B){
+ parseIR(C, R"(define void @dependence(ptr noalias %A, ptr noalias %B){
entry:
- store i32 0, i32* %A, align 4 ; storeA0
- store i32 2, i32* %A, align 4 ; storeA1
- %tmp0 = load i32, i32* %A, align 4 ; loadA0
- store i32 1, i32* %B, align 4 ; storeB0
- %tmp1 = load i32, i32* %A, align 4 ; loadA1
- store i32 2, i32* %A, align 4 ; storeA2
- store i32 4, i32* %B, align 4 ; StoreB1
- %tmp2 = load i32, i32* %A, align 4 ; loadA2
- %tmp3 = load i32, i32* %A, align 4 ; loadA3
- %tmp4 = load i32, i32* %B, align 4 ; loadB2
- %tmp5 = load i32, i32* %B, align 4 ; loadB3
+ store i32 0, ptr %A, align 4 ; storeA0
+ store i32 2, ptr %A, align 4 ; storeA1
+ %tmp0 = load i32, ptr %A, align 4 ; loadA0
+ store i32 1, ptr %B, align 4 ; storeB0
+ %tmp1 = load i32, ptr %A, align 4 ; loadA1
+ store i32 2, ptr %A, align 4 ; storeA2
+ store i32 4, ptr %B, align 4 ; StoreB1
+ %tmp2 = load i32, ptr %A, align 4 ; loadA2
+ %tmp3 = load i32, ptr %A, align 4 ; loadA3
+ %tmp4 = load i32, ptr %B, align 4 ; loadB2
+ %tmp5 = load i32, ptr %B, align 4 ; loadB3
ret void
})");
@@ -763,63 +763,63 @@ TEST(CodeMoverUtils, IsSafeToMoveTest6) {
LLVMContext C;
std::unique_ptr<Module> M = parseIR(
- C, R"(define void @dependence(i1 %cond, i32* noalias %A, i32* noalias %B){
+ C, R"(define void @dependence(i1 %cond, ptr noalias %A, ptr noalias %B){
entry:
br i1 %cond, label %bb0, label %bb1
bb0:
br label %bb1
bb1:
- store i32 0, i32* %A, align 4 ; storeA0
+ store i32 0, ptr %A, align 4 ; storeA0
br i1 %cond, label %bb2, label %bb3
bb2:
br label %bb3
bb3:
- store i32 2, i32* %A, align 4 ; storeA1
+ store i32 2, ptr %A, align 4 ; storeA1
br i1 %cond, label %bb4, label %bb5
bb4:
br label %bb5
bb5:
- %tmp0 = load i32, i32* %A, align 4 ; loadA0
+ %tmp0 = load i32, ptr %A, align 4 ; loadA0
br i1 %cond, label %bb6, label %bb7
bb6:
br label %bb7
bb7:
- store i32 1, i32* %B, align 4 ; storeB0
+ store i32 1, ptr %B, align 4 ; storeB0
br i1 %cond, label %bb8, label %bb9
bb8:
br label %bb9
bb9:
- %tmp1 = load i32, i32* %A, align 4 ; loadA1
+ %tmp1 = load i32, ptr %A, align 4 ; loadA1
br i1 %cond, label %bb10, label %bb11
bb10:
br label %bb11
bb11:
- store i32 2, i32* %A, align 4 ; storeA2
+ store i32 2, ptr %A, align 4 ; storeA2
br i1 %cond, label %bb12, label %bb13
bb12:
br label %bb13
bb13:
- store i32 4, i32* %B, align 4 ; StoreB1
+ store i32 4, ptr %B, align 4 ; StoreB1
br i1 %cond, label %bb14, label %bb15
bb14:
br label %bb15
bb15:
- %tmp2 = load i32, i32* %A, align 4 ; loadA2
+ %tmp2 = load i32, ptr %A, align 4 ; loadA2
br i1 %cond, label %bb16, label %bb17
bb16:
br label %bb17
bb17:
- %tmp3 = load i32, i32* %A, align 4 ; loadA3
+ %tmp3 = load i32, ptr %A, align 4 ; loadA3
br i1 %cond, label %bb18, label %bb19
bb18:
br label %bb19
bb19:
- %tmp4 = load i32, i32* %B, align 4 ; loadB2
+ %tmp4 = load i32, ptr %B, align 4 ; loadB2
br i1 %cond, label %bb20, label %bb21
bb20:
br label %bb21
bb21:
- %tmp5 = load i32, i32* %B, align 4 ; loadB3
+ %tmp5 = load i32, ptr %B, align 4 ; loadB3
ret void
})");
run(*M, "dependence",
diff --git a/llvm/unittests/Transforms/Utils/LocalTest.cpp b/llvm/unittests/Transforms/Utils/LocalTest.cpp
index 4908eda..c37ed5d 100644
--- a/llvm/unittests/Transforms/Utils/LocalTest.cpp
+++ b/llvm/unittests/Transforms/Utils/LocalTest.cpp
@@ -183,7 +183,7 @@ TEST(Local, MergeBasicBlockIntoOnlyPred) {
auto resetIR = [&]() {
M = parseIR(C,
R"(
- define i32 @f(i8* %str) {
+ define i32 @f(ptr %str) {
entry:
br label %bb2.i
bb2.i: ; preds = %bb4.i, %entry
@@ -411,7 +411,7 @@ TEST(Local, ConstantFoldTerminator) {
define void @indirectbr() {
entry:
- indirectbr i8* blockaddress(@indirectbr, %bb0), [label %bb0, label %bb1]
+ indirectbr ptr blockaddress(@indirectbr, %bb0), [label %bb0, label %bb1]
bb0:
ret void
bb1:
@@ -420,14 +420,14 @@ TEST(Local, ConstantFoldTerminator) {
define void @indirectbr_repeated() {
entry:
- indirectbr i8* blockaddress(@indirectbr_repeated, %bb0), [label %bb0, label %bb0]
+ indirectbr ptr blockaddress(@indirectbr_repeated, %bb0), [label %bb0, label %bb0]
bb0:
ret void
}
define void @indirectbr_unreachable() {
entry:
- indirectbr i8* blockaddress(@indirectbr_unreachable, %bb0), [label %bb1]
+ indirectbr ptr blockaddress(@indirectbr_unreachable, %bb0), [label %bb1]
bb0:
ret void
bb1:
@@ -925,7 +925,7 @@ TEST(Local, RemoveUnreachableBlocks) {
declare i32 @__gxx_personality_v0(...)
- define void @invoke_terminator() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
+ define void @invoke_terminator() personality ptr @__gxx_personality_v0 {
entry:
br i1 undef, label %invoke.block, label %exit
@@ -943,8 +943,8 @@ TEST(Local, RemoveUnreachableBlocks) {
unreachable
lpad.block:
- %lp = landingpad { i8*, i32 }
- catch i8* null
+ %lp = landingpad { ptr, i32 }
+ catch ptr null
br label %exit
exit:
diff --git a/llvm/unittests/Transforms/Utils/MemTransferLowering.cpp b/llvm/unittests/Transforms/Utils/MemTransferLowering.cpp
index b97bc31..dd03b4f 100644
--- a/llvm/unittests/Transforms/Utils/MemTransferLowering.cpp
+++ b/llvm/unittests/Transforms/Utils/MemTransferLowering.cpp
@@ -98,13 +98,13 @@ struct MemTransferLowerTest : public testing::Test {
// For that reason expandMemCpyAsLoop is expected to explicitly mark
// loads from source and stores to destination as not aliasing.
TEST_F(MemTransferLowerTest, MemCpyKnownLength) {
- ParseAssembly("declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8 *, i64, i1)\n"
- "define void @foo(i8* %dst, i8* %src, i64 %n) optsize {\n"
+ ParseAssembly("declare void @llvm.memcpy.p0i8.p0i8.i64(ptr, ptr, i64, i1)\n"
+ "define void @foo(ptr %dst, ptr %src, i64 %n) optsize {\n"
"entry:\n"
- " %is_not_equal = icmp ne i8* %dst, %src\n"
+ " %is_not_equal = icmp ne ptr %dst, %src\n"
" br i1 %is_not_equal, label %memcpy, label %exit\n"
"memcpy:\n"
- " call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, "
+ " call void @llvm.memcpy.p0i8.p0i8.i64(ptr %dst, ptr %src, "
"i64 1024, i1 false)\n"
" br label %exit\n"
"exit:\n"
@@ -138,13 +138,13 @@ TEST_F(MemTransferLowerTest, MemCpyKnownLength) {
// llvm.memcpy lowering) doesn't alias by making sure the loop can be
// successfully vectorized without additional runtime checks.
TEST_F(MemTransferLowerTest, VecMemCpyKnownLength) {
- ParseAssembly("declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8 *, i64, i1)\n"
- "define void @foo(i8* %dst, i8* %src, i64 %n) optsize {\n"
+ ParseAssembly("declare void @llvm.memcpy.p0i8.p0i8.i64(ptr, ptr, i64, i1)\n"
+ "define void @foo(ptr %dst, ptr %src, i64 %n) optsize {\n"
"entry:\n"
- " %is_not_equal = icmp ne i8* %dst, %src\n"
+ " %is_not_equal = icmp ne ptr %dst, %src\n"
" br i1 %is_not_equal, label %memcpy, label %exit\n"
"memcpy:\n"
- " call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, "
+ " call void @llvm.memcpy.p0i8.p0i8.i64(ptr %dst, ptr %src, "
"i64 1024, i1 false)\n"
" br label %exit\n"
"exit:\n"
@@ -176,16 +176,16 @@ TEST_F(MemTransferLowerTest, VecMemCpyKnownLength) {
TEST_F(MemTransferLowerTest, AtomicMemCpyKnownLength) {
ParseAssembly("declare void "
- "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(i32*, "
+ "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(ptr, "
"i32 *, i64, i32)\n"
- "define void @foo(i32* %dst, i32* %src, i64 %n) optsize {\n"
+ "define void @foo(ptr %dst, ptr %src, i64 %n) optsize {\n"
"entry:\n"
- " %is_not_equal = icmp ne i32* %dst, %src\n"
+ " %is_not_equal = icmp ne ptr %dst, %src\n"
" br i1 %is_not_equal, label %memcpy, label %exit\n"
"memcpy:\n"
" call void "
- "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(i32* "
- "%dst, i32* %src, "
+ "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(ptr "
+ "%dst, ptr %src, "
"i64 1024, i32 4)\n"
" br label %exit\n"
"exit:\n"
@@ -221,16 +221,16 @@ TEST_F(MemTransferLowerTest, AtomicMemCpyKnownLength) {
TEST_F(MemTransferLowerTest, AtomicMemCpyUnKnownLength) {
ParseAssembly("declare void "
- "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(i32*, "
+ "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(ptr, "
"i32 *, i64, i32)\n"
- "define void @foo(i32* %dst, i32* %src, i64 %n) optsize {\n"
+ "define void @foo(ptr %dst, ptr %src, i64 %n) optsize {\n"
"entry:\n"
- " %is_not_equal = icmp ne i32* %dst, %src\n"
+ " %is_not_equal = icmp ne ptr %dst, %src\n"
" br i1 %is_not_equal, label %memcpy, label %exit\n"
"memcpy:\n"
" call void "
- "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(i32* "
- "%dst, i32* %src, "
+ "@llvm.memcpy.element.unordered.atomic.p0i32.p0i32.i64(ptr "
+ "%dst, ptr %src, "
"i64 %n, i32 4)\n"
" br label %exit\n"
"exit:\n"
diff --git a/llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp b/llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
index 55eae64..4fe3080 100644
--- a/llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
+++ b/llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
@@ -121,18 +121,18 @@ TEST_F(ScalarEvolutionExpanderTest, ExpandPtrTypeSCEV) {
TEST_F(ScalarEvolutionExpanderTest, SCEVZeroExtendExprNonIntegral) {
/*
* Create the following code:
- * func(i64 addrspace(10)* %arg)
+ * func(ptr addrspace(10) %arg)
* top:
* br label %L.ph
* L.ph:
- * %gepbase = getelementptr i64 addrspace(10)* %arg, i64 1
+ * %gepbase = getelementptr ptr addrspace(10) %arg, i64 1
* br label %L
* L:
* %phi = phi i64 [i64 0, %L.ph], [ %add, %L2 ]
* %add = add i64 %phi2, 1
* br i1 undef, label %post, label %L2
* post:
- * #= %gep = getelementptr i64 addrspace(10)* %gepbase, i64 %add =#
+ * #= %gep = getelementptr ptr addrspace(10) %gepbase, i64 %add =#
* ret void
*
* We will create the appropriate SCEV expression for %gep and expand it,
@@ -199,7 +199,7 @@ TEST_F(ScalarEvolutionExpanderTest, SCEVZeroExtendExprNonIntegral) {
TEST_F(ScalarEvolutionExpanderTest, SCEVExpanderIsSafeToExpandAt) {
/*
* Create the following code:
- * func(i64 addrspace(10)* %arg)
+ * func(ptr addrspace(10) %arg)
* top:
* br label %L.ph
* L.ph:
@@ -704,14 +704,14 @@ TEST_F(ScalarEvolutionExpanderTest, SCEVExpanderShlNSW) {
EXPECT_FALSE(I->hasNoSignedWrap());
};
- checkOneCase("define void @f(i16* %arrayidx) { "
- " %1 = load i16, i16* %arrayidx "
+ checkOneCase("define void @f(ptr %arrayidx) { "
+ " %1 = load i16, ptr %arrayidx "
" %2 = and i16 %1, -32768 "
" ret void "
"} ");
- checkOneCase("define void @f(i8* %arrayidx) { "
- " %1 = load i8, i8* %arrayidx "
+ checkOneCase("define void @f(ptr %arrayidx) { "
+ " %1 = load i8, ptr %arrayidx "
" %2 = and i8 %1, -128 "
" ret void "
"} ");
diff --git a/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp b/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
index eec1011..7ba259d 100644
--- a/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
+++ b/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
@@ -34,7 +34,7 @@ TEST(LoopUnrollRuntime, Latch) {
std::unique_ptr<Module> M = parseIR(
C,
- R"(define i32 @test(i32* %a, i32* %b, i32* %c, i64 %n) {
+ R"(define i32 @test(ptr %a, ptr %b, ptr %c, i64 %n) {
entry:
br label %while.cond
@@ -44,13 +44,13 @@ while.cond: ; preds = %while.body, %entry
br i1 %cmp, label %while.body, label %while.end
while.body: ; preds = %while.cond
- %arrayidx = getelementptr inbounds i32, i32* %b, i64 %i.0
- %0 = load i32, i32* %arrayidx
- %arrayidx1 = getelementptr inbounds i32, i32* %c, i64 %i.0
- %1 = load i32, i32* %arrayidx1
+ %arrayidx = getelementptr inbounds i32, ptr %b, i64 %i.0
+ %0 = load i32, ptr %arrayidx
+ %arrayidx1 = getelementptr inbounds i32, ptr %c, i64 %i.0
+ %1 = load i32, ptr %arrayidx1
%mul = mul nsw i32 %0, %1
- %arrayidx2 = getelementptr inbounds i32, i32* %a, i64 %i.0
- store i32 %mul, i32* %arrayidx2
+ %arrayidx2 = getelementptr inbounds i32, ptr %a, i64 %i.0
+ store i32 %mul, ptr %arrayidx2
%inc = add nsw i64 %i.0, 1
br label %while.cond
diff --git a/llvm/unittests/Transforms/Utils/ValueMapperTest.cpp b/llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
index e39cd70..7f12deae 100644
--- a/llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
+++ b/llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
@@ -74,7 +74,7 @@ TEST(ValueMapperTest, mapMDNodeDuplicatedCycle) {
// Create a cycle that references G0.
MDNode *N0; // !0 = !{!1}
- MDNode *N1; // !1 = !{!0, i8* @G0}
+ MDNode *N1; // !1 = !{!0, ptr @G0}
{
auto T0 = MDTuple::getTemporary(Context, nullptr);
Metadata *Ops1[] = {T0.get(), ConstantAsMetadata::get(G0.get())};