[llvm] a273c40 - llvm/tools: Convert tests to opaque pointers

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 27 20:20:09 PST 2022


Author: Fangrui Song
Date: 2022-11-27T20:20:04-08:00
New Revision: a273c40820f78d8b08e411897eee84dbda983488

URL: https://github.com/llvm/llvm-project/commit/a273c40820f78d8b08e411897eee84dbda983488
DIFF: https://github.com/llvm/llvm-project/commit/a273c40820f78d8b08e411897eee84dbda983488.diff

LOG: llvm/tools: Convert tests to opaque pointers

Added: 
    

Modified: 
    llvm/test/tools/dsymutil/Inputs/frame-dw2.ll
    llvm/test/tools/dsymutil/Inputs/frame-dw4.ll
    llvm/test/tools/gold/X86/Inputs/comdat.ll
    llvm/test/tools/gold/X86/Inputs/common_thinlto.ll
    llvm/test/tools/gold/X86/Inputs/ctors2.ll
    llvm/test/tools/gold/X86/Inputs/devirt_vcall_vis_shared_def.ll
    llvm/test/tools/gold/X86/Inputs/resolve-to-alias.ll
    llvm/test/tools/gold/X86/Inputs/thinlto_cspgo_bar.ll
    llvm/test/tools/gold/X86/Inputs/thinlto_weak_resolution.ll
    llvm/test/tools/gold/X86/Inputs/type-merge2.ll
    llvm/test/tools/gold/X86/Inputs/weak.ll
    llvm/test/tools/gold/X86/alias.ll
    llvm/test/tools/gold/X86/bad-alias.ll
    llvm/test/tools/gold/X86/comdat-nodeduplicate.ll
    llvm/test/tools/gold/X86/comdat.ll
    llvm/test/tools/gold/X86/common_thinlto.ll
    llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
    llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
    llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
    llvm/test/tools/gold/X86/emit-llvm.ll
    llvm/test/tools/gold/X86/opt-level.ll
    llvm/test/tools/gold/X86/pr25907.ll
    llvm/test/tools/gold/X86/relax-relocs.ll
    llvm/test/tools/gold/X86/relocation-model-pic.ll
    llvm/test/tools/gold/X86/relocation-model-static.ll
    llvm/test/tools/gold/X86/slp-vectorize-pm.ll
    llvm/test/tools/gold/X86/slp-vectorize.ll
    llvm/test/tools/gold/X86/thinlto_alias.ll
    llvm/test/tools/gold/X86/type-merge2.ll
    llvm/test/tools/gold/X86/unnamed-addr.ll
    llvm/test/tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll
    llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
    llvm/test/tools/gold/X86/vectorize.ll
    llvm/test/tools/llc/codemodel-1.ll
    llvm/test/tools/llc/codemodel-2.ll
    llvm/test/tools/llvm-ar/Inputs/bitcode-sym32.ll
    llvm/test/tools/llvm-ar/Inputs/bitcode-sym64.ll
    llvm/test/tools/llvm-as/slow-ptrtoint.ll
    llvm/test/tools/llvm-diff/constantvector.ll
    llvm/test/tools/llvm-diff/indirectbr.ll
    llvm/test/tools/llvm-diff/initializers.ll
    llvm/test/tools/llvm-diff/undef.ll
    llvm/test/tools/llvm-diff/zeroinitializer.bc.ll
    llvm/test/tools/llvm-dwarfdump/X86/LTO_CCU_zero_loc_cov.ll
    llvm/test/tools/llvm-dwarfdump/X86/locstats.ll
    llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
    llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
    llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll
    llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll
    llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll
    llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll
    llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll
    llvm/test/tools/llvm-extract/extract-alias.ll
    llvm/test/tools/llvm-extract/extract-block.ll
    llvm/test/tools/llvm-extract/extract-invalid-block.ll
    llvm/test/tools/llvm-extract/extract-linkonce.ll
    llvm/test/tools/llvm-extract/extract-multiple-blocks.ll
    llvm/test/tools/llvm-extract/extract-weak-odr.ll
    llvm/test/tools/llvm-extract/keep-constinit.ll
    llvm/test/tools/llvm-locstats/locstats.ll
    llvm/test/tools/llvm-lto/ltomodule.ll
    llvm/test/tools/llvm-lto2/X86/slp-vectorize-pm.ll
    llvm/test/tools/llvm-nm/Inputs/bitcode-sym32.ll
    llvm/test/tools/llvm-nm/Inputs/bitcode-sym64.ll
    llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
    llvm/test/tools/llvm-objdump/ELF/Hexagon/source-interleave-hexagon.ll
    llvm/test/tools/llvm-objdump/Inputs/trivial.ll
    llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave-same-line-different-file.ll
    llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave.ll
    llvm/test/tools/llvm-objdump/X86/disassemble-archive-with-source.ll
    llvm/test/tools/llvm-profgen/Inputs/symbolize.ll
    llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll
    llvm/test/tools/llvm-readobj/COFF/Inputs/trivial.ll
    llvm/test/tools/llvm-readobj/MachO/Inputs/trivial.ll
    llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.ll
    llvm/test/tools/llvm-sim/Inputs/sim1.ll
    llvm/test/tools/llvm-symbolizer/output-style-json-frame.ll
    llvm/test/tools/llvm-symbolizer/padding-x86_64.ll
    llvm/test/tools/lto/hide-linkonce-odr.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/dsymutil/Inputs/frame-dw2.ll b/llvm/test/tools/dsymutil/Inputs/frame-dw2.ll
index 2ed26e998261c..055c3cc8678d2 100644
--- a/llvm/test/tools/dsymutil/Inputs/frame-dw2.ll
+++ b/llvm/test/tools/dsymutil/Inputs/frame-dw2.ll
@@ -8,28 +8,28 @@ define i32 @bar(i32 %b) #0 !dbg !4 {
 entry:
   %b.addr = alloca i32, align 4
   %var = alloca i32, align 4
-  store i32 %b, i32* %b.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %b.addr, metadata !13, metadata !14), !dbg !15
-  call void @llvm.dbg.declare(metadata i32* %var, metadata !16, metadata !14), !dbg !17
-  %0 = load i32, i32* %b.addr, align 4, !dbg !18
+  store i32 %b, ptr %b.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %b.addr, metadata !13, metadata !14), !dbg !15
+  call void @llvm.dbg.declare(metadata ptr %var, metadata !16, metadata !14), !dbg !17
+  %0 = load i32, ptr %b.addr, align 4, !dbg !18
   %add = add nsw i32 %0, 1, !dbg !19
-  store i32 %add, i32* %var, align 4, !dbg !17
-  %call = call i32 @foo(i32* %var), !dbg !20
+  store i32 %add, ptr %var, align 4, !dbg !17
+  %call = call i32 @foo(ptr %var), !dbg !20
   ret i32 %call, !dbg !21
 }
 
 ; Function Attrs: nounwind readnone
 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
 
-declare i32 @foo(i32*) #2
+declare i32 @foo(ptr) #2
 
 ; Function Attrs: nounwind ssp
 define i32 @baz(i32 %b) #0 !dbg !8 {
 entry:
   %b.addr = alloca i32, align 4
-  store i32 %b, i32* %b.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %b.addr, metadata !22, metadata !14), !dbg !23
-  %0 = load i32, i32* %b.addr, align 4, !dbg !24
+  store i32 %b, ptr %b.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %b.addr, metadata !22, metadata !14), !dbg !23
+  %0 = load i32, ptr %b.addr, align 4, !dbg !24
   %call = call i32 @bar(i32 %0), !dbg !25
   ret i32 %call, !dbg !26
 }

diff  --git a/llvm/test/tools/dsymutil/Inputs/frame-dw4.ll b/llvm/test/tools/dsymutil/Inputs/frame-dw4.ll
index 376137bf01824..ed73bd7089b79 100644
--- a/llvm/test/tools/dsymutil/Inputs/frame-dw4.ll
+++ b/llvm/test/tools/dsymutil/Inputs/frame-dw4.ll
@@ -8,28 +8,28 @@ define i32 @bar(i32 %b) #0 !dbg !4 {
 entry:
   %b.addr = alloca i32, align 4
   %var = alloca i32, align 4
-  store i32 %b, i32* %b.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %b.addr, metadata !13, metadata !14), !dbg !15
-  call void @llvm.dbg.declare(metadata i32* %var, metadata !16, metadata !14), !dbg !17
-  %0 = load i32, i32* %b.addr, align 4, !dbg !18
+  store i32 %b, ptr %b.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %b.addr, metadata !13, metadata !14), !dbg !15
+  call void @llvm.dbg.declare(metadata ptr %var, metadata !16, metadata !14), !dbg !17
+  %0 = load i32, ptr %b.addr, align 4, !dbg !18
   %add = add nsw i32 %0, 1, !dbg !19
-  store i32 %add, i32* %var, align 4, !dbg !17
-  %call = call i32 @foo(i32* %var), !dbg !20
+  store i32 %add, ptr %var, align 4, !dbg !17
+  %call = call i32 @foo(ptr %var), !dbg !20
   ret i32 %call, !dbg !21
 }
 
 ; Function Attrs: nounwind readnone
 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
 
-declare i32 @foo(i32*) #2
+declare i32 @foo(ptr) #2
 
 ; Function Attrs: nounwind ssp
 define i32 @baz(i32 %b) #0 !dbg !8 {
 entry:
   %b.addr = alloca i32, align 4
-  store i32 %b, i32* %b.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %b.addr, metadata !22, metadata !14), !dbg !23
-  %0 = load i32, i32* %b.addr, align 4, !dbg !24
+  store i32 %b, ptr %b.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %b.addr, metadata !22, metadata !14), !dbg !23
+  %0 = load i32, ptr %b.addr, align 4, !dbg !24
   %call = call i32 @bar(i32 %0), !dbg !25
   ret i32 %call, !dbg !26
 }

diff  --git a/llvm/test/tools/gold/X86/Inputs/comdat.ll b/llvm/test/tools/gold/X86/Inputs/comdat.ll
index ca4bbb4bf81ef..1dd8c05fd9a9f 100644
--- a/llvm/test/tools/gold/X86/Inputs/comdat.ll
+++ b/llvm/test/tools/gold/X86/Inputs/comdat.ll
@@ -9,20 +9,20 @@ $c1 = comdat any
 @will_be_undefined = global i32 1, comdat($c1)
 
 @v1 = weak_odr global i32 41, comdat($c2)
-define weak_odr protected i32 @f1(i8* %this) comdat($c2) {
+define weak_odr protected i32 @f1(ptr %this) comdat($c2) {
 bb20:
-  store i8* %this, i8** null
+  store ptr %this, ptr null
   br label %bb21
 bb21:
   ret i32 41
 }
 
- at r21 = global i32* @v1
- at r22 = global i32(i8*)* @f1
+ at r21 = global ptr @v1
+ at r22 = global ptr @f1
 
- at a21 = alias i32, i32* @v1
- at a22 = alias i16, bitcast (i32* @v1 to i16*)
+ at a21 = alias i32, ptr @v1
+ at a22 = alias i16, ptr @v1
 
- at a23 = alias i32(i8*), i32(i8*)* @f1
- at a24 = alias i16, bitcast (i32(i8*)* @f1 to i16*)
- at a25 = alias i16, i16* @a24
+ at a23 = alias i32(ptr), ptr @f1
+ at a24 = alias i16, ptr @f1
+ at a25 = alias i16, ptr @a24

diff  --git a/llvm/test/tools/gold/X86/Inputs/common_thinlto.ll b/llvm/test/tools/gold/X86/Inputs/common_thinlto.ll
index f931058434037..e647a560373dc 100644
--- a/llvm/test/tools/gold/X86/Inputs/common_thinlto.ll
+++ b/llvm/test/tools/gold/X86/Inputs/common_thinlto.ll
@@ -2,12 +2,12 @@ source_filename = "common2.c"
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
- at P = external global i8* (...)*, align 8
+ at P = external global ptr, align 8
 
 ; Function Attrs: nounwind uwtable
 define void @foo() #0 {
 entry:
-  %0 = load i8* (...)*, i8* (...)** @P, align 8
-  %call = call i8* (...) %0()
+  %0 = load ptr, ptr @P, align 8
+  %call = call ptr (...) %0()
   ret void
 }

diff  --git a/llvm/test/tools/gold/X86/Inputs/ctors2.ll b/llvm/test/tools/gold/X86/Inputs/ctors2.ll
index c83ce43f1175e..5d4e87996cc0b 100644
--- a/llvm/test/tools/gold/X86/Inputs/ctors2.ll
+++ b/llvm/test/tools/gold/X86/Inputs/ctors2.ll
@@ -1,6 +1,6 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
- at llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @bar, i8* null }]
+ at llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @bar, ptr null }]
 
 define void @bar() {
   ret void

diff  --git a/llvm/test/tools/gold/X86/Inputs/devirt_vcall_vis_shared_def.ll b/llvm/test/tools/gold/X86/Inputs/devirt_vcall_vis_shared_def.ll
index ceb3f7f2afbb1..c70c743b4ade2 100644
--- a/llvm/test/tools/gold/X86/Inputs/devirt_vcall_vis_shared_def.ll
+++ b/llvm/test/tools/gold/X86/Inputs/devirt_vcall_vis_shared_def.ll
@@ -1,15 +1,15 @@
 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-grtev4-linux-gnu"
 
-%struct.A = type { i32 (...)** }
+%struct.A = type { ptr }
 
- at _ZTV1A = unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !vcall_visibility !1
+ at _ZTV1A = unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1A1fEi, ptr @_ZN1A1nEi] }, !type !0, !vcall_visibility !1
 
-define i32 @_ZN1A1fEi(%struct.A* %this, i32 %a) #0 {
+define i32 @_ZN1A1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1A1nEi(%struct.A* %this, i32 %a) #0 {
+define i32 @_ZN1A1nEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 

diff  --git a/llvm/test/tools/gold/X86/Inputs/resolve-to-alias.ll b/llvm/test/tools/gold/X86/Inputs/resolve-to-alias.ll
index 3097ef9f5b084..bcb11034afabb 100644
--- a/llvm/test/tools/gold/X86/Inputs/resolve-to-alias.ll
+++ b/llvm/test/tools/gold/X86/Inputs/resolve-to-alias.ll
@@ -1,6 +1,6 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
- at bar = alias void (), void ()* @zed
+ at bar = alias void (), ptr @zed
 define void @zed() {
   ret void
 }

diff  --git a/llvm/test/tools/gold/X86/Inputs/thinlto_cspgo_bar.ll b/llvm/test/tools/gold/X86/Inputs/thinlto_cspgo_bar.ll
index 0d549e0711a1c..08f3ace6674d7 100644
--- a/llvm/test/tools/gold/X86/Inputs/thinlto_cspgo_bar.ll
+++ b/llvm/test/tools/gold/X86/Inputs/thinlto_cspgo_bar.ll
@@ -13,15 +13,15 @@ entry:
   br i1 %tobool, label %if.else, label %if.then, !prof !30
 
 if.then:
-  %0 = load i32, i32* @odd, align 4
+  %0 = load i32, ptr @odd, align 4
   %inc = add i32 %0, 1
-  store i32 %inc, i32* @odd, align 4
+  store i32 %inc, ptr @odd, align 4
   br label %for.inc
 
 if.else:
-  %1 = load i32, i32* @even, align 4
+  %1 = load i32, ptr @even, align 4
   %inc1 = add i32 %1, 1
-  store i32 %inc1, i32* @even, align 4
+  store i32 %inc1, ptr @even, align 4
   br label %for.inc
 
 for.inc:
@@ -30,9 +30,9 @@ for.inc:
   br i1 %tobool2.1, label %for.inc.1, label %if.then3.1, !prof !35
 
 if.then3.1:
-  %2 = load i32, i32* @not_six, align 4
+  %2 = load i32, ptr @not_six, align 4
   %inc4.1 = add i32 %2, 1
-  store i32 %inc4.1, i32* @not_six, align 4
+  store i32 %inc4.1, ptr @not_six, align 4
   br label %for.inc.1
 
 for.inc.1:
@@ -42,9 +42,9 @@ for.inc.1:
   br i1 %tobool2.2, label %for.inc.2, label %if.then3.2, !prof !35
 
 if.then3.2:
-  %3 = load i32, i32* @not_six, align 4
+  %3 = load i32, ptr @not_six, align 4
   %inc4.2 = add i32 %3, 1
-  store i32 %inc4.2, i32* @not_six, align 4
+  store i32 %inc4.2, ptr @not_six, align 4
   br label %for.inc.2
 
 for.inc.2:
@@ -54,9 +54,9 @@ for.inc.2:
   br i1 %tobool2.3, label %for.inc.3, label %if.then3.3, !prof !35
 
 if.then3.3:
-  %4 = load i32, i32* @not_six, align 4
+  %4 = load i32, ptr @not_six, align 4
   %inc4.3 = add i32 %4, 1
-  store i32 %inc4.3, i32* @not_six, align 4
+  store i32 %inc4.3, ptr @not_six, align 4
   br label %for.inc.3
 
 for.inc.3:

diff  --git a/llvm/test/tools/gold/X86/Inputs/thinlto_weak_resolution.ll b/llvm/test/tools/gold/X86/Inputs/thinlto_weak_resolution.ll
index 0f817d7db3a9a..a4ab30165bebb 100644
--- a/llvm/test/tools/gold/X86/Inputs/thinlto_weak_resolution.ll
+++ b/llvm/test/tools/gold/X86/Inputs/thinlto_weak_resolution.ll
@@ -2,10 +2,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
 ; Alias are not optimized
- at linkonceodralias = linkonce_odr alias void (), void ()* @linkonceodrfuncwithalias
+ at linkonceodralias = linkonce_odr alias void (), ptr @linkonceodrfuncwithalias
 
 ; Alias are not optimized
- at linkoncealias = linkonce alias void (), void ()* @linkoncefuncwithalias
+ at linkoncealias = linkonce alias void (), ptr @linkoncefuncwithalias
 
 ; Function with an alias are not optimized
 define linkonce_odr void @linkonceodrfuncwithalias() #0 {

diff  --git a/llvm/test/tools/gold/X86/Inputs/type-merge2.ll b/llvm/test/tools/gold/X86/Inputs/type-merge2.ll
index 7890c47a30040..dfa14c6e2ddb3 100644
--- a/llvm/test/tools/gold/X86/Inputs/type-merge2.ll
+++ b/llvm/test/tools/gold/X86/Inputs/type-merge2.ll
@@ -2,7 +2,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
 %zed = type { i16 }
-define void @bar(%zed* %this)  {
-  store %zed* %this, %zed** null
+define void @bar(ptr %this)  {
+  store ptr %this, ptr null
   ret void
 }

diff  --git a/llvm/test/tools/gold/X86/Inputs/weak.ll b/llvm/test/tools/gold/X86/Inputs/weak.ll
index 8aba5b261001c..d321abfbf2183 100644
--- a/llvm/test/tools/gold/X86/Inputs/weak.ll
+++ b/llvm/test/tools/gold/X86/Inputs/weak.ll
@@ -2,4 +2,4 @@ target triple = "x86_64-unknown-linux-gnu"
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
 @a = weak global i32 41
- at c = global i32* @a
+ at c = global ptr @a

diff  --git a/llvm/test/tools/gold/X86/alias.ll b/llvm/test/tools/gold/X86/alias.ll
index 0730ce8b12a31..24354c13aa130 100644
--- a/llvm/test/tools/gold/X86/alias.ll
+++ b/llvm/test/tools/gold/X86/alias.ll
@@ -11,5 +11,5 @@
 
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
- at a = weak alias i32, i32* @b
+ at a = weak alias i32, ptr @b
 @b = global i32 1

diff  --git a/llvm/test/tools/gold/X86/bad-alias.ll b/llvm/test/tools/gold/X86/bad-alias.ll
index 19395c132bcf5..2b2ee83cfcff5 100644
--- a/llvm/test/tools/gold/X86/bad-alias.ll
+++ b/llvm/test/tools/gold/X86/bad-alias.ll
@@ -11,5 +11,5 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 @g1 = global i32 1
 @g2 = global i32 2
 
- at a = alias i32, inttoptr(i32 sub (i32 ptrtoint (i32* @g1 to i32),
-                                  i32 ptrtoint (i32* @g2 to i32)) to i32*)
+ at a = alias i32, inttoptr(i32 sub (i32 ptrtoint (ptr @g1 to i32),
+                                  i32 ptrtoint (ptr @g2 to i32)) to ptr)

diff  --git a/llvm/test/tools/gold/X86/comdat-nodeduplicate.ll b/llvm/test/tools/gold/X86/comdat-nodeduplicate.ll
index e3104d463317e..81156c7610ce5 100644
--- a/llvm/test/tools/gold/X86/comdat-nodeduplicate.ll
+++ b/llvm/test/tools/gold/X86/comdat-nodeduplicate.ll
@@ -46,14 +46,14 @@ target triple = "x86_64-unknown-linux-gnu"
 
 $__profc_foo = comdat nodeduplicate
 @__profc_foo = private global i64 1, comdat, align 8
- at __profd_foo = private global i64* @__profc_foo, comdat($__profc_foo), align 8
+ at __profd_foo = private global ptr @__profc_foo, comdat($__profc_foo), align 8
 
 declare void @b()
 
 define i64 @foo() {
-  %v = load i64, i64* @__profc_foo
+  %v = load i64, ptr @__profc_foo
   %inc = add i64 1, %v
-  store i64 %inc, i64* @__profc_foo
+  store i64 %inc, ptr @__profc_foo
   ret i64 %inc
 }
 
@@ -68,12 +68,12 @@ target triple = "x86_64-unknown-linux-gnu"
 
 $__profc_foo = comdat nodeduplicate
 @__profc_foo = weak hidden global i64 2, comdat, align 8
- at __profd_foo = private global i64* @__profc_foo, comdat($__profc_foo)
+ at __profd_foo = private global ptr @__profc_foo, comdat($__profc_foo)
 
 define weak i64 @foo() {
-  %v = load i64, i64* @__profc_foo
+  %v = load i64, ptr @__profc_foo
   %inc = add i64 1, %v
-  store i64 %inc, i64* @__profc_foo
+  store i64 %inc, ptr @__profc_foo
   ret i64 %inc
 }
 
@@ -87,12 +87,12 @@ target triple = "x86_64-unknown-linux-gnu"
 
 $__profc_foo = comdat nodeduplicate
 @__profc_foo = weak hidden global i64 3, comdat, align 8
- at __profd_foo = private global i64* @__profc_foo, comdat($__profc_foo)
+ at __profd_foo = private global ptr @__profc_foo, comdat($__profc_foo)
 
 define weak i64 @foo() {
-  %v = load i64, i64* @__profc_foo
+  %v = load i64, ptr @__profc_foo
   %inc = add i64 1, %v
-  store i64 %inc, i64* @__profc_foo
+  store i64 %inc, ptr @__profc_foo
   ret i64 %inc
 }
 

diff  --git a/llvm/test/tools/gold/X86/comdat.ll b/llvm/test/tools/gold/X86/comdat.ll
index ed29695c28f02..135bdf1ed9c4b 100644
--- a/llvm/test/tools/gold/X86/comdat.ll
+++ b/llvm/test/tools/gold/X86/comdat.ll
@@ -12,22 +12,22 @@ target triple = "x86_64-unknown-linux-gnu"
 $c1 = comdat any
 
 @v1 = weak_odr global i32 42, comdat($c1)
-define weak_odr i32 @f1(i8*) comdat($c1) {
+define weak_odr i32 @f1(ptr) comdat($c1) {
 bb10:
   br label %bb11
 bb11:
   ret i32 42
 }
 
- at r11 = global i32* @v1
- at r12 = global i32 (i8*)* @f1
+ at r11 = global ptr @v1
+ at r12 = global ptr @f1
 
- at a11 = alias i32, i32* @v1
- at a12 = alias i16, bitcast (i32* @v1 to i16*)
+ at a11 = alias i32, ptr @v1
+ at a12 = alias i16, ptr @v1
 
- at a13 = alias i32 (i8*), i32 (i8*)* @f1
- at a14 = alias i16, bitcast (i32 (i8*)* @f1 to i16*)
- at a15 = alias i16, i16* @a14
+ at a13 = alias i32 (ptr), ptr @f1
+ at a14 = alias i16, ptr @f1
+ at a15 = alias i16, ptr @a14
 
 ; gold's resolutions should tell us that our $c1 wins, and the other input's $c2
 ; wins. f1 is also local due to having protected visibility in the other object.

diff  --git a/llvm/test/tools/gold/X86/common_thinlto.ll b/llvm/test/tools/gold/X86/common_thinlto.ll
index cd54d00f671b4..38013f7e3b28a 100644
--- a/llvm/test/tools/gold/X86/common_thinlto.ll
+++ b/llvm/test/tools/gold/X86/common_thinlto.ll
@@ -22,18 +22,18 @@ source_filename = "common1.c"
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
- at P = common global i8* (...)* null, align 8
+ at P = common global ptr null, align 8
 
 define i32 @main() {
 entry:
-  store i8* (...)* bitcast (i8* ()* @bar to i8* (...)*), i8* (...)** @P, align 8
+  store ptr @bar, ptr @P, align 8
   %call = call i32 (...) @foo()
   ret i32 0
 }
 
 declare i32 @foo(...)
 
-define internal i8* @bar() {
+define internal ptr @bar() {
 entry:
-  ret i8* null
+  ret ptr null
 }

diff  --git a/llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll b/llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
index 0a374a6daf77d..3d2badc18674a 100644
--- a/llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
+++ b/llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
@@ -104,77 +104,70 @@
 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-grtev4-linux-gnu"
 
-%struct.A = type { i32 (...)** }
+%struct.A = type { ptr }
 %struct.B = type { %struct.A }
 %struct.C = type { %struct.A }
-%struct.D = type { i32 (...)** }
+%struct.D = type { ptr }
 
- at _ZTV1B = linkonce_odr unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.B*, i32)* @_ZN1B1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !1, !vcall_visibility !5
- at _ZTV1C = linkonce_odr unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.C*, i32)* @_ZN1C1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !2, !vcall_visibility !5
- at _ZTV1D = linkonce_odr unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.D*, i32)* @_ZN1D1mEi to i8*)] }, !type !3, !vcall_visibility !5
+ at _ZTV1B = linkonce_odr unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1B1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !1, !vcall_visibility !5
+ at _ZTV1C = linkonce_odr unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1C1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !2, !vcall_visibility !5
+ at _ZTV1D = linkonce_odr unnamed_addr constant { [3 x ptr] } { [3 x ptr] [ptr null, ptr undef, ptr @_ZN1D1mEi] }, !type !3, !vcall_visibility !5
 
 ;; Prevent the vtables from being dead code eliminated.
- at llvm.used = appending global [3 x i8*] [ i8* bitcast ( { [4 x i8*] }* @_ZTV1B to i8*), i8* bitcast ( { [4 x i8*] }* @_ZTV1C to i8*), i8* bitcast ( { [3 x i8*] }* @_ZTV1D to i8*)]
+ at llvm.used = appending global [3 x ptr] [ ptr @_ZTV1B, ptr @_ZTV1C, ptr @_ZTV1D]
 
 ; CHECK-IR-LABEL: define dso_local i32 @_start
-define i32 @_start(%struct.A* %obj, %struct.D* %obj2, i32 %a) {
+define i32 @_start(ptr %obj, ptr %obj2, i32 %a) {
 entry:
-  %0 = bitcast %struct.A* %obj to i8***
-  %vtable = load i8**, i8*** %0
-  %1 = bitcast i8** %vtable to i8*
-  %p = call i1 @llvm.type.test(i8* %1, metadata !"_ZTS1A")
+  %vtable = load ptr, ptr %obj
+  %p = call i1 @llvm.type.test(ptr %vtable, metadata !"_ZTS1A")
   call void @llvm.assume(i1 %p)
-  %fptrptr = getelementptr i8*, i8** %vtable, i32 1
-  %2 = bitcast i8** %fptrptr to i32 (%struct.A*, i32)**
-  %fptr1 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %2, align 8
+  %fptrptr = getelementptr ptr, ptr %vtable, i32 1
+  %fptr1 = load ptr, ptr %fptrptr, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call = tail call i32 @_ZN1A1nEi
   ; CHECK-NODEVIRT-IR: %call = tail call i32 %fptr1
-  %call = tail call i32 %fptr1(%struct.A* nonnull %obj, i32 %a)
+  %call = tail call i32 %fptr1(ptr nonnull %obj, i32 %a)
 
-  %3 = bitcast i8** %vtable to i32 (%struct.A*, i32)**
-  %fptr22 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %3, align 8
+  %fptr22 = load ptr, ptr %vtable, align 8
 
   ;; We still have to call it as virtual.
   ; CHECK-IR: %call3 = tail call i32 %fptr22
   ; CHECK-NODEVIRT-IR: %call3 = tail call i32 %fptr22
-  %call3 = tail call i32 %fptr22(%struct.A* nonnull %obj, i32 %call)
+  %call3 = tail call i32 %fptr22(ptr nonnull %obj, i32 %call)
 
-  %4 = bitcast %struct.D* %obj2 to i8***
-  %vtable2 = load i8**, i8*** %4
-  %5 = bitcast i8** %vtable2 to i8*
-  %p2 = call i1 @llvm.type.test(i8* %5, metadata !4)
+  %vtable2 = load ptr, ptr %obj2
+  %p2 = call i1 @llvm.type.test(ptr %vtable2, metadata !4)
   call void @llvm.assume(i1 %p2)
 
-  %6 = bitcast i8** %vtable2 to i32 (%struct.D*, i32)**
-  %fptr33 = load i32 (%struct.D*, i32)*, i32 (%struct.D*, i32)** %6, align 8
+  %fptr33 = load ptr, ptr %vtable2, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call4 = tail call i32 @_ZN1D1mEi
   ; CHECK-NODEVIRT-IR: %call4 = tail call i32 %fptr33
-  %call4 = tail call i32 %fptr33(%struct.D* nonnull %obj2, i32 %call3)
+  %call4 = tail call i32 %fptr33(ptr nonnull %obj2, i32 %call3)
   ret i32 %call4
 }
 ; CHECK-IR-LABEL: ret i32
 ; CHECK-IR-LABEL: }
 
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
 declare void @llvm.assume(i1)
 
-define i32 @_ZN1B1fEi(%struct.B* %this, i32 %a) #0 {
+define i32 @_ZN1B1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1A1nEi(%struct.A* %this, i32 %a) #0 {
+define i32 @_ZN1A1nEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1C1fEi(%struct.C* %this, i32 %a) #0 {
+define i32 @_ZN1C1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1D1mEi(%struct.D* %this, i32 %a) #0 {
+define i32 @_ZN1D1mEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 

diff  --git a/llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll b/llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
index 0e9106fd9a61d..bb94cd3e1889b 100644
--- a/llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
+++ b/llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
@@ -62,77 +62,70 @@
 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-grtev4-linux-gnu"
 
-%struct.A = type { i32 (...)** }
+%struct.A = type { ptr }
 %struct.B = type { %struct.A }
 %struct.C = type { %struct.A }
-%struct.D = type { i32 (...)** }
+%struct.D = type { ptr }
 
- at _ZTV1B = constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.B*, i32)* @_ZN1B1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !1, !vcall_visibility !5
- at _ZTV1C = constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.C*, i32)* @_ZN1C1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !2, !vcall_visibility !5
- at _ZTV1D = constant { [3 x i8*] } { [3 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.D*, i32)* @_ZN1D1mEi to i8*)] }, !type !3, !vcall_visibility !5
+ at _ZTV1B = constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1B1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !1, !vcall_visibility !5
+ at _ZTV1C = constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1C1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !2, !vcall_visibility !5
+ at _ZTV1D = constant { [3 x ptr] } { [3 x ptr] [ptr null, ptr undef, ptr @_ZN1D1mEi] }, !type !3, !vcall_visibility !5
 
 ; Prevent the vtables from being dead code eliminated.
- at llvm.used = appending global [3 x i8*] [ i8* bitcast ( { [4 x i8*] }* @_ZTV1B to i8*), i8* bitcast ( { [4 x i8*] }* @_ZTV1C to i8*), i8* bitcast ( { [3 x i8*] }* @_ZTV1D to i8*)]
+ at llvm.used = appending global [3 x ptr] [ ptr @_ZTV1B, ptr @_ZTV1C, ptr @_ZTV1D]
 
 ; CHECK-IR-LABEL: define dso_local i32 @_start
-define i32 @_start(%struct.A* %obj, %struct.D* %obj2, i32 %a) {
+define i32 @_start(ptr %obj, ptr %obj2, i32 %a) {
 entry:
-  %0 = bitcast %struct.A* %obj to i8***
-  %vtable = load i8**, i8*** %0
-  %1 = bitcast i8** %vtable to i8*
-  %p = call i1 @llvm.type.test(i8* %1, metadata !"_ZTS1A")
+  %vtable = load ptr, ptr %obj
+  %p = call i1 @llvm.type.test(ptr %vtable, metadata !"_ZTS1A")
   call void @llvm.assume(i1 %p)
-  %fptrptr = getelementptr i8*, i8** %vtable, i32 1
-  %2 = bitcast i8** %fptrptr to i32 (%struct.A*, i32)**
-  %fptr1 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %2, align 8
+  %fptrptr = getelementptr ptr, ptr %vtable, i32 1
+  %fptr1 = load ptr, ptr %fptrptr, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call = tail call i32 @_ZN1A1nEi
   ; CHECK-NODEVIRT-IR: %call = tail call i32 %fptr1
-  %call = tail call i32 %fptr1(%struct.A* nonnull %obj, i32 %a)
+  %call = tail call i32 %fptr1(ptr nonnull %obj, i32 %a)
 
-  %3 = bitcast i8** %vtable to i32 (%struct.A*, i32)**
-  %fptr22 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %3, align 8
+  %fptr22 = load ptr, ptr %vtable, align 8
 
   ;; We still have to call it as virtual.
   ; CHECK-IR: %call3 = tail call i32 %fptr22
   ; CHECK-NODEVIRT-IR: %call3 = tail call i32 %fptr22
-  %call3 = tail call i32 %fptr22(%struct.A* nonnull %obj, i32 %call)
+  %call3 = tail call i32 %fptr22(ptr nonnull %obj, i32 %call)
 
-  %4 = bitcast %struct.D* %obj2 to i8***
-  %vtable2 = load i8**, i8*** %4
-  %5 = bitcast i8** %vtable2 to i8*
-  %p2 = call i1 @llvm.type.test(i8* %5, metadata !4)
+  %vtable2 = load ptr, ptr %obj2
+  %p2 = call i1 @llvm.type.test(ptr %vtable2, metadata !4)
   call void @llvm.assume(i1 %p2)
 
-  %6 = bitcast i8** %vtable2 to i32 (%struct.D*, i32)**
-  %fptr33 = load i32 (%struct.D*, i32)*, i32 (%struct.D*, i32)** %6, align 8
+  %fptr33 = load ptr, ptr %vtable2, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call4 = tail call i32 @_ZN1D1mEi
   ; CHECK-NODEVIRT-IR: %call4 = tail call i32 %fptr33
-  %call4 = tail call i32 %fptr33(%struct.D* nonnull %obj2, i32 %call3)
+  %call4 = tail call i32 %fptr33(ptr nonnull %obj2, i32 %call3)
   ret i32 %call4
 }
 ; CHECK-IR-LABEL: ret i32
 ; CHECK-IR-LABEL: }
 
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
 declare void @llvm.assume(i1)
 
-define i32 @_ZN1B1fEi(%struct.B* %this, i32 %a) #0 {
+define i32 @_ZN1B1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1A1nEi(%struct.A* %this, i32 %a) #0 {
+define i32 @_ZN1A1nEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1C1fEi(%struct.C* %this, i32 %a) #0 {
+define i32 @_ZN1C1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1D1mEi(%struct.D* %this, i32 %a) #0 {
+define i32 @_ZN1D1mEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 

diff  --git a/llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll b/llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
index aaaba909e931a..2a3cfdcfa03bd 100644
--- a/llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
+++ b/llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
@@ -68,49 +68,46 @@
 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-grtev4-linux-gnu"
 
-%struct.A = type { i32 (...)** }
+%struct.A = type { ptr }
 %struct.B = type { %struct.A }
 
- at _ZTV1A = available_externally unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !vcall_visibility !2
- at _ZTV1B = linkonce_odr unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.B*, i32)* @_ZN1B1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !1, !vcall_visibility !2
+ at _ZTV1A = available_externally unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1A1fEi, ptr @_ZN1A1nEi] }, !type !0, !vcall_visibility !2
+ at _ZTV1B = linkonce_odr unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1B1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !1, !vcall_visibility !2
 
 ;; Prevent the vtables from being dead code eliminated.
- at llvm.used = appending global [2 x i8*] [ i8* bitcast ( { [4 x i8*] }* @_ZTV1A to i8*), i8* bitcast ( { [4 x i8*] }* @_ZTV1B to i8*)]
+ at llvm.used = appending global [2 x ptr] [ ptr @_ZTV1A, ptr @_ZTV1B]
 
 ; CHECK-IR-LABEL: define dso_local i32 @_start
-define i32 @_start(%struct.A* %obj, i32 %a) {
+define i32 @_start(ptr %obj, i32 %a) {
 entry:
-  %0 = bitcast %struct.A* %obj to i8***
-  %vtable = load i8**, i8*** %0
-  %1 = bitcast i8** %vtable to i8*
-  %p = call i1 @llvm.type.test(i8* %1, metadata !"_ZTS1A")
+  %vtable = load ptr, ptr %obj
+  %p = call i1 @llvm.type.test(ptr %vtable, metadata !"_ZTS1A")
   call void @llvm.assume(i1 %p)
-  %fptrptr = getelementptr i8*, i8** %vtable, i32 1
-  %2 = bitcast i8** %fptrptr to i32 (%struct.A*, i32)**
-  %fptr1 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %2, align 8
+  %fptrptr = getelementptr ptr, ptr %vtable, i32 1
+  %fptr1 = load ptr, ptr %fptrptr, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call = tail call i32 @_ZN1A1nEi
   ; CHECK-NODEVIRT-IR: %call = tail call i32 %fptr1
-  %call = tail call i32 %fptr1(%struct.A* nonnull %obj, i32 %a)
+  %call = tail call i32 %fptr1(ptr nonnull %obj, i32 %a)
 
   ret i32 %call
 }
 ; CHECK-IR-LABEL: ret i32
 ; CHECK-IR-LABEL: }
 
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
 declare void @llvm.assume(i1)
 
-define available_externally i32 @_ZN1A1fEi(%struct.A* %this, i32 %a) #0 {
+define available_externally i32 @_ZN1A1fEi(ptr %this, i32 %a) #0 {
    ret i32 0
 }
 
-define available_externally i32 @_ZN1A1nEi(%struct.A* %this, i32 %a) #0 {
+define available_externally i32 @_ZN1A1nEi(ptr %this, i32 %a) #0 {
    ret i32 0
 }
 
-define linkonce_odr i32 @_ZN1B1fEi(%struct.B* %this, i32 %a) #0 {
+define linkonce_odr i32 @_ZN1B1fEi(ptr %this, i32 %a) #0 {
    ret i32 0
 }
 

diff  --git a/llvm/test/tools/gold/X86/emit-llvm.ll b/llvm/test/tools/gold/X86/emit-llvm.ll
index 28a81071fdbb5..105b521e46714 100644
--- a/llvm/test/tools/gold/X86/emit-llvm.ll
+++ b/llvm/test/tools/gold/X86/emit-llvm.ll
@@ -61,7 +61,7 @@ define hidden void @f2() {
   ret void
 }
 
- at llvm.used = appending global [1 x i8*] [ i8* bitcast (void ()* @f2 to i8*)]
+ at llvm.used = appending global [1 x ptr] [ ptr @f2]
 
 ; CHECK-DAG: define void @f3()
 ; OPT-DAG: define void @f3()
@@ -81,21 +81,21 @@ define linkonce_odr void @f4() local_unnamed_addr {
 define linkonce_odr void @f5() {
   ret void
 }
- at g9 = global void()* @f5
+ at g9 = global ptr @f5
 
 ; CHECK-DAG: define internal void @f6() unnamed_addr
 ; OPT-DAG: define internal void @f6() unnamed_addr
 define linkonce_odr void @f6() unnamed_addr {
   ret void
 }
- at g10 = global void()* @f6
+ at g10 = global ptr @f6
 
-define i32* @f7() {
-  ret i32* @g7
+define ptr @f7() {
+  ret ptr @g7
 }
 
-define i32* @f8() {
-  ret i32* @g8
+define ptr @f8() {
+  ret ptr @g8
 }
 
 ;; f9 is not internalized because it is in the llvm.compiler.used list.
@@ -105,7 +105,7 @@ define hidden void @f9() {
   ret void
 }
 
- at llvm.compiler.used = appending global [1 x i8*] [ i8* bitcast (void ()* @f9 to i8*)]
+ at llvm.compiler.used = appending global [1 x ptr] [ ptr @f9]
 
 ; RES: .o,f1,pl{{$}}
 ; RES: .o,f2,pl{{$}}

diff  --git a/llvm/test/tools/gold/X86/opt-level.ll b/llvm/test/tools/gold/X86/opt-level.ll
index d6620cd09abdd..1ec2ea5e66090 100644
--- a/llvm/test/tools/gold/X86/opt-level.ll
+++ b/llvm/test/tools/gold/X86/opt-level.ll
@@ -44,7 +44,7 @@ end:
 define i1 @baz() {
   call void @foo()
   %c = call i32 @bar(i1 true)
-  %p = call i1 @llvm.type.test(i8* undef, metadata !"typeid1")
+  %p = call i1 @llvm.type.test(ptr undef, metadata !"typeid1")
   ret i1 %p
 }
 
@@ -55,4 +55,4 @@ define i1 @baz() {
 
 !0 = !{i32 0, !"typeid1"}
 
-declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone

diff  --git a/llvm/test/tools/gold/X86/pr25907.ll b/llvm/test/tools/gold/X86/pr25907.ll
index 86a1a6f91add6..54703e3e4f9e6 100644
--- a/llvm/test/tools/gold/X86/pr25907.ll
+++ b/llvm/test/tools/gold/X86/pr25907.ll
@@ -8,7 +8,7 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
- at main.L = internal unnamed_addr constant [3 x i8*] [i8* blockaddress(@main, %L1), i8* blockaddress(@main, %L2), i8* null], align 16
+ at main.L = internal unnamed_addr constant [3 x ptr] [ptr blockaddress(@main, %L1), ptr blockaddress(@main, %L2), ptr null], align 16
 
 define i32 @main() #0 {
 entry:
@@ -18,9 +18,9 @@ L1:                                               ; preds = %entry, %L1
   %i.0 = phi i32 [ 0, %entry ], [ %inc, %L1 ]
   %inc = add i32 %i.0, 1
   %idxprom = zext i32 %i.0 to i64
-  %arrayidx = getelementptr inbounds [3 x i8*], [3 x i8*]* @main.L, i64 0, i64 %idxprom
-  %0 = load i8*, i8** %arrayidx, align 8, !tbaa !1
-  indirectbr i8* %0, [label %L1, label %L2]
+  %arrayidx = getelementptr inbounds [3 x ptr], ptr @main.L, i64 0, i64 %idxprom
+  %0 = load ptr, ptr %arrayidx, align 8, !tbaa !1
+  indirectbr ptr %0, [label %L1, label %L2]
 
 L2:                                               ; preds = %L1
   ret i32 0

diff  --git a/llvm/test/tools/gold/X86/relax-relocs.ll b/llvm/test/tools/gold/X86/relax-relocs.ll
index 3ad79f73cb84b..a200234d9246c 100644
--- a/llvm/test/tools/gold/X86/relax-relocs.ll
+++ b/llvm/test/tools/gold/X86/relax-relocs.ll
@@ -12,6 +12,6 @@ target triple = "x86_64-unknown-linux-gnu"
 
 @foo = external global i32
 define i32 @bar() {
-  %t = load i32, i32* @foo
+  %t = load i32, ptr @foo
   ret i32 %t
 }

diff  --git a/llvm/test/tools/gold/X86/relocation-model-pic.ll b/llvm/test/tools/gold/X86/relocation-model-pic.ll
index a0f6020db48d4..358751b5bd8ed 100644
--- a/llvm/test/tools/gold/X86/relocation-model-pic.ll
+++ b/llvm/test/tools/gold/X86/relocation-model-pic.ll
@@ -37,7 +37,7 @@ target triple = "x86_64-unknown-linux-gnu"
 
 @foo = external global i32
 define i32 @main() {
-  %t = load i32, i32* @foo
+  %t = load i32, ptr @foo
   ret i32 %t
 }
 

diff  --git a/llvm/test/tools/gold/X86/relocation-model-static.ll b/llvm/test/tools/gold/X86/relocation-model-static.ll
index 157fbbd42971c..7108b30a572b3 100644
--- a/llvm/test/tools/gold/X86/relocation-model-static.ll
+++ b/llvm/test/tools/gold/X86/relocation-model-static.ll
@@ -18,6 +18,6 @@ target triple = "x86_64-unknown-linux-gnu"
 
 @foo = external dso_local global i32
 define i32 @main() {
-  %t = load i32, i32* @foo
+  %t = load i32, ptr @foo
   ret i32 %t
 }

diff  --git a/llvm/test/tools/gold/X86/slp-vectorize-pm.ll b/llvm/test/tools/gold/X86/slp-vectorize-pm.ll
index 26d11fe8a1467..e0ba47c96bb43 100644
--- a/llvm/test/tools/gold/X86/slp-vectorize-pm.ll
+++ b/llvm/test/tools/gold/X86/slp-vectorize-pm.ll
@@ -57,15 +57,15 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-define i32 @foo(i32* %a) {
+define i32 @foo(ptr %a) {
 entry:
   br label %for.body
 
 for.body:
   %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
   %red.05 = phi i32 [ 0, %entry ], [ %add, %for.body ]
-  %arrayidx = getelementptr inbounds i32, i32* %a, i64 %indvars.iv
-  %0 = load i32, i32* %arrayidx, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %a, i64 %indvars.iv
+  %0 = load i32, ptr %arrayidx, align 4
   %add = add nsw i32 %0, %red.05
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %exitcond = icmp eq i64 %indvars.iv.next, 255

diff  --git a/llvm/test/tools/gold/X86/slp-vectorize.ll b/llvm/test/tools/gold/X86/slp-vectorize.ll
index d33ce06efb040..d91f3973b2efc 100644
--- a/llvm/test/tools/gold/X86/slp-vectorize.ll
+++ b/llvm/test/tools/gold/X86/slp-vectorize.ll
@@ -10,21 +10,21 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-define void @f(float* nocapture %x) {
-  %tmp = load float, float* %x, align 4
+define void @f(ptr nocapture %x) {
+  %tmp = load float, ptr %x, align 4
   %add = fadd float %tmp, 1.000000e+00
-  store float %add, float* %x, align 4
-  %arrayidx1 = getelementptr inbounds float, float* %x, i64 1
-  %tmp1 = load float, float* %arrayidx1, align 4
+  store float %add, ptr %x, align 4
+  %arrayidx1 = getelementptr inbounds float, ptr %x, i64 1
+  %tmp1 = load float, ptr %arrayidx1, align 4
   %add2 = fadd float %tmp1, 1.000000e+00
-  store float %add2, float* %arrayidx1, align 4
-  %arrayidx3 = getelementptr inbounds float, float* %x, i64 2
-  %tmp2 = load float, float* %arrayidx3, align 4
+  store float %add2, ptr %arrayidx1, align 4
+  %arrayidx3 = getelementptr inbounds float, ptr %x, i64 2
+  %tmp2 = load float, ptr %arrayidx3, align 4
   %add4 = fadd float %tmp2, 1.000000e+00
-  store float %add4, float* %arrayidx3, align 4
-  %arrayidx5 = getelementptr inbounds float, float* %x, i64 3
-  %tmp3 = load float, float* %arrayidx5, align 4
+  store float %add4, ptr %arrayidx3, align 4
+  %arrayidx5 = getelementptr inbounds float, ptr %x, i64 3
+  %tmp3 = load float, ptr %arrayidx5, align 4
   %add6 = fadd float %tmp3, 1.000000e+00
-  store float %add6, float* %arrayidx5, align 4
+  store float %add6, ptr %arrayidx5, align 4
   ret void
 }

diff  --git a/llvm/test/tools/gold/X86/thinlto_alias.ll b/llvm/test/tools/gold/X86/thinlto_alias.ll
index 7074f12fb6137..8eda805daf726 100644
--- a/llvm/test/tools/gold/X86/thinlto_alias.ll
+++ b/llvm/test/tools/gold/X86/thinlto_alias.ll
@@ -30,7 +30,7 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
- at weakfuncAlias = alias void (...), bitcast (void ()* @weakfunc to void (...)*)
+ at weakfuncAlias = alias void (...), @weakfunc
 define weak void @weakfunc() {
 entry:
   ret void

diff  --git a/llvm/test/tools/gold/X86/type-merge2.ll b/llvm/test/tools/gold/X86/type-merge2.ll
index 0975e2a9dbbd6..fdaab5551779e 100644
--- a/llvm/test/tools/gold/X86/type-merge2.ll
+++ b/llvm/test/tools/gold/X86/type-merge2.ll
@@ -11,10 +11,10 @@ target triple = "x86_64-unknown-linux-gnu"
 
 %zed = type { i8 }
 define void @foo()  {
-  call void @bar(%zed* null)
+  call void @bar(ptr null)
   ret void
 }
-declare void @bar(%zed*)
+declare void @bar(ptr)
 
 ; CHECK-NOT:  %zed
 

diff  --git a/llvm/test/tools/gold/X86/unnamed-addr.ll b/llvm/test/tools/gold/X86/unnamed-addr.ll
index 86e047f34d829..471412d0dd4a5 100644
--- a/llvm/test/tools/gold/X86/unnamed-addr.ll
+++ b/llvm/test/tools/gold/X86/unnamed-addr.ll
@@ -9,8 +9,8 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
 @a = internal unnamed_addr constant i8 42
 
-define i8* @f() {
-  ret i8* @a
+define ptr @f() {
+  ret ptr @a
 }
 
 ; CHECK: @a = internal unnamed_addr constant i8 42

diff  --git a/llvm/test/tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll b/llvm/test/tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll
index edeb1fb5ec793..9d1d49f14a317 100644
--- a/llvm/test/tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll
+++ b/llvm/test/tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll
@@ -1,5 +1,5 @@
-; RUN: rm -f %t*.o.thinlto.bc
-; RUN: rm -f %t*.o.imports
+; RUN: rm -f ptr.o.thinlto.bc
+; RUN: rm -f ptr.o.imports
 
 ; First generate bitcode with a module summary index for each file
 ; RUN: opt -module-summary %s -o %t1.o

diff  --git a/llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll b/llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
index 543e136720bf9..f927af61d56f9 100644
--- a/llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
+++ b/llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
@@ -102,77 +102,70 @@
 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-grtev4-linux-gnu"
 
-%struct.A = type { i32 (...)** }
+%struct.A = type { ptr }
 %struct.B = type { %struct.A }
 %struct.C = type { %struct.A }
-%struct.D = type { i32 (...)** }
+%struct.D = type { ptr }
 
- at _ZTV1B = linkonce_odr unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.B*, i32)* @_ZN1B1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !1, !vcall_visibility !5
- at _ZTV1C = linkonce_odr unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.C*, i32)* @_ZN1C1fEi to i8*), i8* bitcast (i32 (%struct.A*, i32)* @_ZN1A1nEi to i8*)] }, !type !0, !type !2, !vcall_visibility !5
- at _ZTV1D = linkonce_odr unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null, i8* undef, i8* bitcast (i32 (%struct.D*, i32)* @_ZN1D1mEi to i8*)] }, !type !3, !vcall_visibility !5
+ at _ZTV1B = linkonce_odr unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1B1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !1, !vcall_visibility !5
+ at _ZTV1C = linkonce_odr unnamed_addr constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1C1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !2, !vcall_visibility !5
+ at _ZTV1D = linkonce_odr unnamed_addr constant { [3 x ptr] } { [3 x ptr] [ptr null, ptr undef, ptr @_ZN1D1mEi] }, !type !3, !vcall_visibility !5
 
 ;; Prevent the vtables from being dead code eliminated.
- at llvm.used = appending global [3 x i8*] [ i8* bitcast ( { [4 x i8*] }* @_ZTV1B to i8*), i8* bitcast ( { [4 x i8*] }* @_ZTV1C to i8*), i8* bitcast ( { [3 x i8*] }* @_ZTV1D to i8*)]
+ at llvm.used = appending global [3 x ptr] [ ptr @_ZTV1B, ptr @_ZTV1C, ptr @_ZTV1D]
 
 ; CHECK-IR-LABEL: define dso_local i32 @_start
-define i32 @_start(%struct.A* %obj, %struct.D* %obj2, i32 %a) {
+define i32 @_start(ptr %obj, ptr %obj2, i32 %a) {
 entry:
-  %0 = bitcast %struct.A* %obj to i8***
-  %vtable = load i8**, i8*** %0
-  %1 = bitcast i8** %vtable to i8*
-  %p = call i1 @llvm.type.test(i8* %1, metadata !"_ZTS1A")
+  %vtable = load ptr, ptr %obj
+  %p = call i1 @llvm.type.test(ptr %vtable, metadata !"_ZTS1A")
   call void @llvm.assume(i1 %p)
-  %fptrptr = getelementptr i8*, i8** %vtable, i32 1
-  %2 = bitcast i8** %fptrptr to i32 (%struct.A*, i32)**
-  %fptr1 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %2, align 8
+  %fptrptr = getelementptr ptr, ptr %vtable, i32 1
+  %fptr1 = load ptr, ptr %fptrptr, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call = tail call i32 @_ZN1A1nEi
   ; CHECK-AONLY-IR: %call = tail call i32 @_ZN1A1nEi
-  %call = tail call i32 %fptr1(%struct.A* nonnull %obj, i32 %a)
+  %call = tail call i32 %fptr1(ptr nonnull %obj, i32 %a)
 
-  %3 = bitcast i8** %vtable to i32 (%struct.A*, i32)**
-  %fptr22 = load i32 (%struct.A*, i32)*, i32 (%struct.A*, i32)** %3, align 8
+  %fptr22 = load ptr, ptr %vtable, align 8
 
   ;; We still have to call it as virtual.
   ; CHECK-IR: %call3 = tail call i32 %fptr22
   ; CHECK-AONLY-IR: %call3 = tail call i32 %fptr22
-  %call3 = tail call i32 %fptr22(%struct.A* nonnull %obj, i32 %call)
+  %call3 = tail call i32 %fptr22(ptr nonnull %obj, i32 %call)
 
-  %4 = bitcast %struct.D* %obj2 to i8***
-  %vtable2 = load i8**, i8*** %4
-  %5 = bitcast i8** %vtable2 to i8*
-  %p2 = call i1 @llvm.type.test(i8* %5, metadata !4)
+  %vtable2 = load ptr, ptr %obj2
+  %p2 = call i1 @llvm.type.test(ptr %vtable2, metadata !4)
   call void @llvm.assume(i1 %p2)
 
-  %6 = bitcast i8** %vtable2 to i32 (%struct.D*, i32)**
-  %fptr33 = load i32 (%struct.D*, i32)*, i32 (%struct.D*, i32)** %6, align 8
+  %fptr33 = load ptr, ptr %vtable2, align 8
 
   ;; Check that the call was devirtualized.
   ; CHECK-IR: %call4 = tail call i32 @_ZN1D1mEi
   ; CHECK-AONLY-IR: %call4 = tail call i32 %fptr33
-  %call4 = tail call i32 %fptr33(%struct.D* nonnull %obj2, i32 %call3)
+  %call4 = tail call i32 %fptr33(ptr nonnull %obj2, i32 %call3)
   ret i32 %call4
 }
 ; CHECK-IR-LABEL: ret i32
 ; CHECK-IR-LABEL: }
 
-declare i1 @llvm.type.test(i8*, metadata)
+declare i1 @llvm.type.test(ptr, metadata)
 declare void @llvm.assume(i1)
 
-define i32 @_ZN1B1fEi(%struct.B* %this, i32 %a) #0 {
+define i32 @_ZN1B1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1A1nEi(%struct.A* %this, i32 %a) #0 {
+define i32 @_ZN1A1nEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1C1fEi(%struct.C* %this, i32 %a) #0 {
+define i32 @_ZN1C1fEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 
-define i32 @_ZN1D1mEi(%struct.D* %this, i32 %a) #0 {
+define i32 @_ZN1D1mEi(ptr %this, i32 %a) #0 {
    ret i32 0;
 }
 

diff  --git a/llvm/test/tools/gold/X86/vectorize.ll b/llvm/test/tools/gold/X86/vectorize.ll
index 2e25d107e98a1..01f9c8f6950a3 100644
--- a/llvm/test/tools/gold/X86/vectorize.ll
+++ b/llvm/test/tools/gold/X86/vectorize.ll
@@ -10,16 +10,16 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-define void @f(float* nocapture %x, i64 %n) {
+define void @f(ptr nocapture %x, i64 %n) {
 bb:
   br label %bb1
 
 bb1:
   %i.0 = phi i64 [ 0, %bb ], [ %tmp4, %bb1 ]
-  %tmp = getelementptr inbounds float, float* %x, i64 %i.0
-  %tmp2 = load float, float* %tmp, align 4
+  %tmp = getelementptr inbounds float, ptr %x, i64 %i.0
+  %tmp2 = load float, ptr %tmp, align 4
   %tmp3 = fadd float %tmp2, 1.000000e+00
-  store float %tmp3, float* %tmp, align 4
+  store float %tmp3, ptr %tmp, align 4
   %tmp4 = add nsw i64 %i.0, 1
   %tmp5 = icmp slt i64 %tmp4, %n
   br i1 %tmp5, label %bb1, label %bb6

diff  --git a/llvm/test/tools/llc/codemodel-1.ll b/llvm/test/tools/llc/codemodel-1.ll
index 0af663fe5c04e..090a316a67136 100644
--- a/llvm/test/tools/llc/codemodel-1.ll
+++ b/llvm/test/tools/llc/codemodel-1.ll
@@ -14,9 +14,9 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
 
 @data = internal constant [0 x i32] []
 
-define i32* @foo() nounwind readonly {
+define ptr @foo() nounwind readonly {
 entry:
 ; CHECK-LARGE: movabsq $data, %rax
 ; CHECK-SMALL: movl    $data, %eax
-    ret i32* getelementptr ([0 x i32], [0 x i32]* @data, i64 0, i64 0)
+    ret ptr @data
 }

diff  --git a/llvm/test/tools/llc/codemodel-2.ll b/llvm/test/tools/llc/codemodel-2.ll
index a52febe05d7b1..07b6a2c80d752 100644
--- a/llvm/test/tools/llc/codemodel-2.ll
+++ b/llvm/test/tools/llc/codemodel-2.ll
@@ -14,9 +14,9 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
 
 @data = internal constant [0 x i32] []
 
-define i32* @foo() nounwind readonly {
+define ptr @foo() nounwind readonly {
 entry:
 ; CHECK-LARGE: movabsq $data, %rax
 ; CHECK-SMALL: movl    $data, %eax
-    ret i32* getelementptr ([0 x i32], [0 x i32]* @data, i64 0, i64 0)
+    ret ptr @data
 }

diff  --git a/llvm/test/tools/llvm-ar/Inputs/bitcode-sym32.ll b/llvm/test/tools/llvm-ar/Inputs/bitcode-sym32.ll
index 0c76f09fd22bc..d5a1bf9d4a493 100644
--- a/llvm/test/tools/llvm-ar/Inputs/bitcode-sym32.ll
+++ b/llvm/test/tools/llvm-ar/Inputs/bitcode-sym32.ll
@@ -6,9 +6,9 @@ target triple = "powerpcle-unknown-linux-gnu"
 define dso_local i32 @foo32(i32 %i) #0 {
 entry:
   %i.addr = alloca i32, align 4
-  store i32 %i, i32* %i.addr, align 4
-  %0 = load i32, i32* %i.addr, align 4
-  %1 = load i32, i32* @undef_var32, align 4
+  store i32 %i, ptr %i.addr, align 4
+  %0 = load i32, ptr %i.addr, align 4
+  %1 = load i32, ptr @undef_var32, align 4
   %add = add nsw i32 %0, %1
   ret i32 %add
 }

diff  --git a/llvm/test/tools/llvm-ar/Inputs/bitcode-sym64.ll b/llvm/test/tools/llvm-ar/Inputs/bitcode-sym64.ll
index cd749199fe79a..a3c7607574890 100644
--- a/llvm/test/tools/llvm-ar/Inputs/bitcode-sym64.ll
+++ b/llvm/test/tools/llvm-ar/Inputs/bitcode-sym64.ll
@@ -5,8 +5,8 @@ target triple = "powerpc64le-unknown-linux-gnu"
 
 define dso_local signext i32 @bar64() #0 {
 entry:
-  %0 = load i32, i32* @static_var64, align 4
-  %1 = load i32, i32* @C64, align 4
+  %0 = load i32, ptr @static_var64, align 4
+  %1 = load i32, ptr @C64, align 4
   %add = add nsw i32 %0, %1
   ret i32 %add
 }

diff  --git a/llvm/test/tools/llvm-as/slow-ptrtoint.ll b/llvm/test/tools/llvm-as/slow-ptrtoint.ll
index a793f144d8811..eedd7aabf4283 100644
--- a/llvm/test/tools/llvm-as/slow-ptrtoint.ll
+++ b/llvm/test/tools/llvm-as/slow-ptrtoint.ll
@@ -19,12 +19,12 @@
 ; to constant fold the size of %0
 define i64 @f_i64() {
 ; CHECK-LABEL: @f_i64
-; CHECK:         ret i64 ptrtoint (%0* getelementptr (%0, %0* null, i32 1) to i64)
-  ret i64 ptrtoint (%0* getelementptr (%0, %0* null, i32 1) to i64)
+; CHECK:         ret i64 ptrtoint (ptr getelementptr (%0, ptr null, i32 1) to i64)
+  ret i64 ptrtoint (ptr getelementptr (%0, ptr null, i32 1) to i64)
 }
 
 define i32 @f_i32() {
 ; CHECK-LABEL: @f_i32
-; CHECK:         ret i32 ptrtoint (%3* getelementptr (%3, %3* null, i32 1) to i32)
-  ret i32 ptrtoint (%3* getelementptr (%3, %3* null, i32 1) to i32)
+; CHECK:         ret i32 ptrtoint (ptr getelementptr (%3, ptr null, i32 1) to i32)
+  ret i32 ptrtoint (ptr getelementptr (%3, ptr null, i32 1) to i32)
 }

diff  --git a/llvm/test/tools/llvm-
diff /constantvector.ll b/llvm/test/tools/llvm-
diff /constantvector.ll
index 96bb304eccfea..0a056521a5669 100644
--- a/llvm/test/tools/llvm-
diff /constantvector.ll
+++ b/llvm/test/tools/llvm-
diff /constantvector.ll
@@ -1,16 +1,15 @@
 ; Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=33623
 ; RUN: llvm-
diff  %s %s
 
-%struct.it = type { i64, i64* }
+%struct.it = type { i64, ptr }
 
 @a_vector = internal global [2 x i64] zeroinitializer, align 16
 
-define i32 @foo(%struct.it* %it) {
+define i32 @foo(ptr %it) {
 
 entry:
-  %a = getelementptr inbounds %struct.it, %struct.it* %it, i64 0, i32 1
-  %tmp0 = bitcast i64** %a to <2 x i64*>*
-  store <2 x i64*> <i64* getelementptr inbounds ([2 x i64], [2 x i64]* @a_vector, i64 0, i64 0), i64* getelementptr inbounds ([2 x i64], [2 x i64]* @a_vector, i64 0, i64 0)>, <2 x i64*>* %tmp0, align 8
+  %a = getelementptr inbounds %struct.it, ptr %it, i64 0, i32 1
+  store <2 x ptr> <ptr @a_vector, ptr @a_vector>, ptr %a, align 8
 
   ret i32 0
 }

diff  --git a/llvm/test/tools/llvm-
diff /indirectbr.ll b/llvm/test/tools/llvm-
diff /indirectbr.ll
index cff43fc7eb10f..b2d601ae8dbdf 100644
--- a/llvm/test/tools/llvm-
diff /indirectbr.ll
+++ b/llvm/test/tools/llvm-
diff /indirectbr.ll
@@ -1,9 +1,9 @@
 ; Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=33623
 ; RUN: llvm-
diff  %s %s
 
-define i32 @foo(i8*) {
+define i32 @foo(ptr) {
 entry:
-  indirectbr i8* %0, [label %A, label %B, label %entry]
+  indirectbr ptr %0, [label %A, label %B, label %entry]
 A:
   ret i32 1
 B:

diff  --git a/llvm/test/tools/llvm-
diff /initializers.ll b/llvm/test/tools/llvm-
diff /initializers.ll
index d4b0d8f8a2310..8e12a22910a5c 100644
--- a/llvm/test/tools/llvm-
diff /initializers.ll
+++ b/llvm/test/tools/llvm-
diff /initializers.ll
@@ -4,10 +4,10 @@
 ; llvm-
diff  unless the a deep comparison is done on the initializer.
 
 @gv1 = external dso_local global [28 x i16], align 16
- at gv2 = private unnamed_addr constant [2 x i16*] [i16* getelementptr inbounds ([28 x i16], [28 x i16]* @gv1, i32 0, i32 0), i16* poison], align 16
+ at gv2 = private unnamed_addr constant [2 x ptr] [ptr @gv1, ptr poison], align 16
 
 define void @foo() {
-  %1 = getelementptr [2 x i16*], [2 x i16*]* @gv2, i64 0, i64 undef
+  %1 = getelementptr [2 x ptr], ptr @gv2, i64 0, i64 undef
   ret void
 }
 
@@ -20,7 +20,7 @@ define void @foo() {
 @gv3 = internal global [1 x %struct.ty1] [%struct.ty1 { i16 928, i16 0 }], align 16
 
 define void @bar() {
-  %1 = getelementptr [1 x %struct.ty1], [1 x %struct.ty1]* @gv3, i64 0, i64 undef
+  %1 = getelementptr [1 x %struct.ty1], ptr @gv3, i64 0, i64 undef
   ret void
 }
 
@@ -28,20 +28,20 @@ define void @bar() {
 ; GEP. Check that it doesn't cause an infinite loop.
 
 %struct.mutex = type { %struct.list_head }
-%struct.list_head = type { %struct.list_head*, %struct.list_head* }
+%struct.list_head = type { ptr, ptr }
 
- at vmx_l1d_flush_mutex = internal global %struct.mutex { %struct.list_head { %struct.list_head* bitcast (i8* getelementptr (i8, i8* bitcast (%struct.mutex* @vmx_l1d_flush_mutex to i8*), i64 16) to %struct.list_head*), %struct.list_head* bitcast (i8* getelementptr (i8, i8* bitcast (%struct.mutex* @vmx_l1d_flush_mutex to i8*), i64 16) to %struct.list_head*) } }, align 8
+ at vmx_l1d_flush_mutex = internal global %struct.mutex { %struct.list_head { ptr getelementptr (i8, ptr @vmx_l1d_flush_mutex, i64 16), ptr getelementptr (i8, ptr @vmx_l1d_flush_mutex, i64 16) } }, align 8
 
 define internal i32 @qux() {
-  call void undef(%struct.mutex* @vmx_l1d_flush_mutex)
+  call void undef(ptr @vmx_l1d_flush_mutex)
   ret i32 undef
 }
 
 ; An initializer could use itself as part of the initialization.
 
- at kvm_debugfs_entries = internal global %struct.list_head { %struct.list_head* @kvm_debugfs_entries, %struct.list_head* @kvm_debugfs_entries }, align 8
+ at kvm_debugfs_entries = internal global %struct.list_head { ptr @kvm_debugfs_entries, ptr @kvm_debugfs_entries }, align 8
 
 define i64 @mux() {
-  %1 = load i8*, i8** bitcast (%struct.list_head* @kvm_debugfs_entries to i8**), align 8
+  %1 = load ptr, ptr @kvm_debugfs_entries, align 8
   ret i64 undef
 }

diff  --git a/llvm/test/tools/llvm-
diff /undef.ll b/llvm/test/tools/llvm-
diff /undef.ll
index 607fb1f425ead..e2f6f1cbefb06 100644
--- a/llvm/test/tools/llvm-
diff /undef.ll
+++ b/llvm/test/tools/llvm-
diff /undef.ll
@@ -2,10 +2,10 @@
 ; RUN: llvm-
diff  %s %s
 
 %A = type { i64, i64 }
- at _gm_ = global <2 x %A*> zeroinitializer
+ at _gm_ = global <2 x ptr> zeroinitializer
 
 define void @f() {
 entry:
-  store <2 x %A*> undef, <2 x %A*>* @_gm_
+  store <2 x ptr> undef, ptr @_gm_
   ret void
 }

diff  --git a/llvm/test/tools/llvm-
diff /zeroinitializer.bc.ll b/llvm/test/tools/llvm-
diff /zeroinitializer.bc.ll
index a6dece35cdc29..71e222aad360c 100644
--- a/llvm/test/tools/llvm-
diff /zeroinitializer.bc.ll
+++ b/llvm/test/tools/llvm-
diff /zeroinitializer.bc.ll
@@ -2,10 +2,10 @@
 ; RUN: llvm-
diff  %s %s
 
 %A = type { i64, i64 }
- at _gm_ = global <2 x %A*> zeroinitializer
+ at _gm_ = global <2 x ptr> zeroinitializer
 
 define void @f() {
 entry:
-  store <2 x %A*> zeroinitializer, <2 x %A*>* @_gm_
+  store <2 x ptr> zeroinitializer, ptr @_gm_
   ret void
 }

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/LTO_CCU_zero_loc_cov.ll b/llvm/test/tools/llvm-dwarfdump/X86/LTO_CCU_zero_loc_cov.ll
index 64e788d58bcc5..fa32b35658047 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/LTO_CCU_zero_loc_cov.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/LTO_CCU_zero_loc_cov.ll
@@ -44,28 +44,28 @@ define dso_local i32 @main() local_unnamed_addr #0 !dbg !11 {
   %3 = alloca i32, align 4
   %4 = alloca i32, align 4
   %5 = alloca i32, align 4
-  store i32 0, i32* %1, align 4
-  call void @llvm.dbg.declare(metadata i32* %2, metadata !15, metadata !DIExpression()), !dbg !16
-  store i32 10, i32* %2, align 4, !dbg !16
-  call void @llvm.dbg.declare(metadata i32* %3, metadata !17, metadata !DIExpression()), !dbg !16
-  store i32 5, i32* %3, align 4, !dbg !16
-  call void @llvm.dbg.declare(metadata i32* %4, metadata !19, metadata !DIExpression()), !dbg !16
-  %6 = load i32, i32* %2, align 4, !dbg !16
-  %7 = load i32, i32* %3, align 4, !dbg !16
+  store i32 0, ptr %1, align 4
+  call void @llvm.dbg.declare(metadata ptr %2, metadata !15, metadata !DIExpression()), !dbg !16
+  store i32 10, ptr %2, align 4, !dbg !16
+  call void @llvm.dbg.declare(metadata ptr %3, metadata !17, metadata !DIExpression()), !dbg !16
+  store i32 5, ptr %3, align 4, !dbg !16
+  call void @llvm.dbg.declare(metadata ptr %4, metadata !19, metadata !DIExpression()), !dbg !16
+  %6 = load i32, ptr %2, align 4, !dbg !16
+  %7 = load i32, ptr %3, align 4, !dbg !16
   call void @llvm.dbg.value(metadata i32 %6, metadata !23, metadata !DIExpression()), !dbg !27
   call void @llvm.dbg.value(metadata i32 %7, metadata !29, metadata !DIExpression()), !dbg !27
   %8 = add nsw i32 %7, %6, !dbg !27
   call void @llvm.dbg.value(metadata i32 %8, metadata !31, metadata !DIExpression()), !dbg !27
-  store i32 %8, i32* %4, align 4, !dbg !16
-  call void @llvm.dbg.declare(metadata i32* %5, metadata !32, metadata !DIExpression()), !dbg !16
-  %9 = load i32, i32* %4, align 4, !dbg !16
-  %10 = load i32, i32* %4, align 4, !dbg !16
+  store i32 %8, ptr %4, align 4, !dbg !16
+  call void @llvm.dbg.declare(metadata ptr %5, metadata !32, metadata !DIExpression()), !dbg !16
+  %9 = load i32, ptr %4, align 4, !dbg !16
+  %10 = load i32, ptr %4, align 4, !dbg !16
   call void @llvm.dbg.value(metadata i32 undef, metadata !23, metadata !DIExpression()), !dbg !36 ;; Hard coded line: There was %10 instead of undef.
   call void @llvm.dbg.value(metadata i32 2, metadata !29, metadata !DIExpression()), !dbg !36
   %11 = add nsw i32 2, %10, !dbg !36
   call void @llvm.dbg.value(metadata i32 %11, metadata !31, metadata !DIExpression()), !dbg !36
   %12 = add nsw i32 %9, %11, !dbg !16
-  store i32 %12, i32* %5, align 4, !dbg !16
+  store i32 %12, ptr %5, align 4, !dbg !16
   ret i32 0, !dbg !16
 }
 

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/locstats.ll b/llvm/test/tools/llvm-dwarfdump/X86/locstats.ll
index 6af1ac4e24d47..f850119acb000 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/locstats.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/locstats.ll
@@ -138,37 +138,35 @@ entry:
 }
 
 ; Function Attrs: argmemonly nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
 
 declare !dbg !4 dso_local void @fn2(i32) local_unnamed_addr
 
 ; Function Attrs: argmemonly nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
 
 ; Function Attrs: noinline nounwind uwtable
 define dso_local i32 @f() local_unnamed_addr !dbg !27 {
 entry:
   %l = alloca i32, align 4
   %k = alloca i32, align 4
-  %0 = bitcast i32* %l to i8*, !dbg !33
-  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0), !dbg !33
-  %1 = bitcast i32* %k to i8*, !dbg !33
-  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %1), !dbg !33
-  call void @llvm.dbg.value(metadata i32* %l, metadata !31, metadata !DIExpression(DW_OP_deref)), !dbg !34
-  call void @fn3(i32* nonnull %l), !dbg !35
-  call void @llvm.dbg.value(metadata i32* %k, metadata !32, metadata !DIExpression(DW_OP_deref)), !dbg !34
-  call void @fn3(i32* nonnull %k), !dbg !36
-  %2 = load i32, i32* %l, align 4, !dbg !37
-  call void @llvm.dbg.value(metadata i32 %2, metadata !31, metadata !DIExpression()), !dbg !34
-  %3 = load i32, i32* %k, align 4, !dbg !37
-  call void @llvm.dbg.value(metadata i32 %3, metadata !32, metadata !DIExpression()), !dbg !34
-  call void @fn1(i32 %2, i32 %3), !dbg !37
-  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %1), !dbg !37
-  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0), !dbg !37
+  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %l), !dbg !33
+  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %k), !dbg !33
+  call void @llvm.dbg.value(metadata ptr %l, metadata !31, metadata !DIExpression(DW_OP_deref)), !dbg !34
+  call void @fn3(ptr nonnull %l), !dbg !35
+  call void @llvm.dbg.value(metadata ptr %k, metadata !32, metadata !DIExpression(DW_OP_deref)), !dbg !34
+  call void @fn3(ptr nonnull %k), !dbg !36
+  %0 = load i32, ptr %l, align 4, !dbg !37
+  call void @llvm.dbg.value(metadata i32 %0, metadata !31, metadata !DIExpression()), !dbg !34
+  %1 = load i32, ptr %k, align 4, !dbg !37
+  call void @llvm.dbg.value(metadata i32 %1, metadata !32, metadata !DIExpression()), !dbg !34
+  call void @fn1(i32 %0, i32 %1), !dbg !37
+  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %k), !dbg !37
+  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %l), !dbg !37
   ret i32 0, !dbg !37
 }
 
-declare !dbg !8 dso_local void @fn3(i32*) local_unnamed_addr
+declare !dbg !8 dso_local void @fn3(ptr) local_unnamed_addr
 
 ; Function Attrs: nounwind readnone speculatable willreturn
 declare void @llvm.dbg.value(metadata, metadata, metadata)

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/statistics.ll b/llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
index 08d1d25286ec6..a454bf14c3353 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
@@ -69,7 +69,7 @@ source_filename = "/tmp/quality.cpp"
 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-apple-macosx10.12.0"
 
-%struct.S = type { i8 (i32)* }
+%struct.S = type { ptr }
 
 @GlobalConst = global i32 42, align 4, !dbg !0
 @Global = global i32 0, align 4, !dbg !6
@@ -79,11 +79,11 @@ target triple = "x86_64-apple-macosx10.12.0"
 define i32 @_Z6squarei(i32 %i) #0 !dbg !20 {
 entry:
   %i.addr = alloca i32, align 4
-  store i32 %i, i32* %i.addr, align 4
+  store i32 %i, ptr %i.addr, align 4
   ; Modified to loose debug info for i here.
-  call void @llvm.dbg.declare(metadata i32* undef, metadata !23, metadata !24), !dbg !25
-  %0 = load i32, i32* %i.addr, align 4, !dbg !26
-  %1 = load i32, i32* %i.addr, align 4, !dbg !27
+  call void @llvm.dbg.declare(metadata ptr undef, metadata !23, metadata !24), !dbg !25
+  %0 = load i32, ptr %i.addr, align 4, !dbg !26
+  %1 = load i32, ptr %i.addr, align 4, !dbg !27
   %mul = mul nsw i32 %0, %1, !dbg !28
   ret i32 %mul, !dbg !29
 }
@@ -96,22 +96,22 @@ declare void @llvm.dbg.value(metadata, metadata, metadata) #1
 define i32 @_Z4cubei(i32 %i) #2 !dbg !30 {
 entry:
   %i.addr.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i.addr.i, metadata !23, metadata !24), !dbg !31
+  call void @llvm.dbg.declare(metadata ptr %i.addr.i, metadata !23, metadata !24), !dbg !31
   %i.addr = alloca i32, align 4
   %squared = alloca i32, align 4
-  store i32 %i, i32* %i.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %i.addr, metadata !33, metadata !24), !dbg !34
-  %0 = load i32, i32* %i.addr, align 4, !dbg !37
-  store i32 %0, i32* %i.addr.i, align 4
-  %1 = load i32, i32* %i.addr.i, align 4, !dbg !38
-  %2 = load i32, i32* %i.addr.i, align 4, !dbg !39
+  store i32 %i, ptr %i.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %i.addr, metadata !33, metadata !24), !dbg !34
+  %0 = load i32, ptr %i.addr, align 4, !dbg !37
+  store i32 %0, ptr %i.addr.i, align 4
+  %1 = load i32, ptr %i.addr.i, align 4, !dbg !38
+  %2 = load i32, ptr %i.addr.i, align 4, !dbg !39
   %mul.i = mul nsw i32 %1, %2, !dbg !40
   ; Modified to cover only about 50% of the lexical scope.
   call void @llvm.dbg.value(metadata i32 %mul.i, metadata !35, metadata !24), !dbg !36
-  store i32 %mul.i, i32* %squared, align 4, !dbg !36
-  %3 = load i32, i32* %squared, align 4, !dbg !41
+  store i32 %mul.i, ptr %squared, align 4, !dbg !36
+  %3 = load i32, ptr %squared, align 4, !dbg !41
   call void @llvm.dbg.value(metadata i32 %3, metadata !35, metadata !24), !dbg !36
-  %4 = load i32, i32* %i.addr, align 4, !dbg !42
+  %4 = load i32, ptr %i.addr, align 4, !dbg !42
   %mul = mul nsw i32 %3, %4, !dbg !43
   ret i32 %mul, !dbg !44
 }
@@ -121,21 +121,21 @@ define dso_local i32 @_Z3booii(i32 %0, i32 %1) !dbg !52 {
 entry:
   %.addr = alloca i32, align 4
   %.addr1 = alloca i32, align 4
-  store i32 %0, i32* %.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %.addr, metadata !55, metadata !DIExpression()), !dbg !56
-  store i32 %1, i32* %.addr1, align 4
-  call void @llvm.dbg.declare(metadata i32* %.addr1, metadata !57, metadata !DIExpression()), !dbg !58
+  store i32 %0, ptr %.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %.addr, metadata !55, metadata !DIExpression()), !dbg !56
+  store i32 %1, ptr %.addr1, align 4
+  call void @llvm.dbg.declare(metadata ptr %.addr1, metadata !57, metadata !DIExpression()), !dbg !58
   ret i32 0, !dbg !58
 }
 
 %struct.T = type { i8 }
 
-define void @_ZN1T5emptyEv(%struct.T* %this) #2 !dbg !59 {
+define void @_ZN1T5emptyEv(ptr %this) #2 !dbg !59 {
 entry:
-  %this.addr = alloca %struct.T*, align 8
-  store %struct.T* %this, %struct.T** %this.addr, align 8
-  call void @llvm.dbg.declare(metadata %struct.T** %this.addr, metadata !67, metadata !DIExpression()), !dbg !69
-  %this1 = load %struct.T*, %struct.T** %this.addr, align 8
+  %this.addr = alloca ptr, align 8
+  store ptr %this, ptr %this.addr, align 8
+  call void @llvm.dbg.declare(metadata ptr %this.addr, metadata !67, metadata !DIExpression()), !dbg !69
+  %this1 = load ptr, ptr %this.addr, align 8
   ret void, !dbg !70
 }
 

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll b/llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
index 8a41c24ee8516..86a8a84ee7e59 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
@@ -27,20 +27,19 @@ entry:
   call void @llvm.dbg.value(metadata i32 %arg1, metadata !15, metadata !DIExpression()), !dbg !19
   call void @llvm.dbg.value(metadata i32 %arg2, metadata !16, metadata !DIExpression()), !dbg !20
   call void @llvm.dbg.value(metadata i32 %arg3, metadata !17, metadata !DIExpression()), !dbg !21
-  %0 = bitcast i32* %local1 to i8*, !dbg !22
   %call = tail call i32 (...) @getVal(), !dbg !23
   call void @llvm.dbg.value(metadata i32 %call, metadata !18, metadata !DIExpression()), !dbg !24
-  store i32 %call, i32* %local1, align 4, !dbg !24
+  store i32 %call, ptr %local1, align 4, !dbg !24
   %add = add nsw i32 %arg3, 3, !dbg !24
   %add1 = add nsw i32 %arg2, %arg1, !dbg !24
-  call void @llvm.dbg.value(metadata i32* %local1, metadata !18, metadata !DIExpression(DW_OP_deref)), !dbg !24
-  call void @foo(i32* nonnull %local1, i32 %arg2, i32 10, i32 15, i32 %add, i32 %add1), !dbg !24
+  call void @llvm.dbg.value(metadata ptr %local1, metadata !18, metadata !DIExpression(DW_OP_deref)), !dbg !24
+  call void @foo(ptr nonnull %local1, i32 %arg2, i32 10, i32 15, i32 %add, i32 %add1), !dbg !24
   ret void, !dbg !24
 }
 
 declare !dbg !4 dso_local i32 @getVal(...) local_unnamed_addr
 
-declare !dbg !5 dso_local void @foo(i32*, i32, i32, i32, i32, i32) local_unnamed_addr
+declare !dbg !5 dso_local void @foo(ptr, i32, i32, i32, i32, i32) local_unnamed_addr
 
 ; Function Attrs: nounwind readnone speculatable
 declare void @llvm.dbg.value(metadata, metadata, metadata)

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll b/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll
index c1d3f24ddabcc..05626e60ca0c7 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll
@@ -48,32 +48,32 @@ define i32 @_Z1av() #0 !dbg !10 {
 entry:
   %retval.i = alloca i32, align 4
   %i.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i.i, metadata !14, metadata !DIExpression()), !dbg !21
+  call void @llvm.dbg.declare(metadata ptr %i.i, metadata !14, metadata !DIExpression()), !dbg !21
   %i2.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i2.i, metadata !23, metadata !DIExpression()), !dbg !25
+  call void @llvm.dbg.declare(metadata ptr %i2.i, metadata !23, metadata !DIExpression()), !dbg !25
   %a = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %a, metadata !26, metadata !DIExpression()), !dbg !27
+  call void @llvm.dbg.declare(metadata ptr %a, metadata !26, metadata !DIExpression()), !dbg !27
   %call.i = call i32 @getchar(), !dbg !28
   %cmp.i = icmp eq i32 %call.i, 97, !dbg !28
   br i1 %cmp.i, label %if.then.i, label %if.else.i, !dbg !29
 
 if.then.i:                                        ; preds = %entry
   %call1.i = call i32 @getchar(), !dbg !21
-  store i32 %call1.i, i32* %i.i, align 4, !dbg !21
-  %0 = load i32, i32* %i.i, align 4, !dbg !30
-  store i32 %0, i32* %retval.i, align 4, !dbg !30
+  store i32 %call1.i, ptr %i.i, align 4, !dbg !21
+  %0 = load i32, ptr %i.i, align 4, !dbg !30
+  store i32 %0, ptr %retval.i, align 4, !dbg !30
   br label %_Z7inlinedIiET_v.exit, !dbg !30
 
 if.else.i:                                        ; preds = %entry
-  store i32 97, i32* %i2.i, align 4, !dbg !25
-  %1 = load i32, i32* %i2.i, align 4, !dbg !31
-  store i32 %1, i32* %retval.i, align 4, !dbg !31
+  store i32 97, ptr %i2.i, align 4, !dbg !25
+  %1 = load i32, ptr %i2.i, align 4, !dbg !31
+  store i32 %1, ptr %retval.i, align 4, !dbg !31
   br label %_Z7inlinedIiET_v.exit, !dbg !31
 
 _Z7inlinedIiET_v.exit:                            ; preds = %if.else.i, %if.then.i
-  %2 = load i32, i32* %retval.i, align 4, !dbg !32
-  store i32 %2, i32* %a, align 4, !dbg !27
-  %3 = load i32, i32* %a, align 4, !dbg !33
+  %2 = load i32, ptr %retval.i, align 4, !dbg !32
+  store i32 %2, ptr %a, align 4, !dbg !27
+  %3 = load i32, ptr %a, align 4, !dbg !33
   %add = add nsw i32 %3, 1, !dbg !33
   ret i32 %add, !dbg !33
 }
@@ -87,7 +87,7 @@ declare i32 @getchar()
 define i32 @main() #3 !dbg !34 {
 entry:
   %retval = alloca i32, align 4
-  store i32 0, i32* %retval, align 4
+  store i32 0, ptr %retval, align 4
   %call = call i32 @_Z1av(), !dbg !35
   %call1 = call i32 @_Z1bv(), !dbg !35
   %add = add nsw i32 %call, %call1, !dbg !35
@@ -99,32 +99,32 @@ define i32 @_Z1bv() #0 !dbg !36 {
 entry:
   %retval.i = alloca i32, align 4
   %i.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i.i, metadata !37, metadata !DIExpression()), !dbg !41
+  call void @llvm.dbg.declare(metadata ptr %i.i, metadata !37, metadata !DIExpression()), !dbg !41
   %i2.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i2.i, metadata !43, metadata !DIExpression()), !dbg !45
+  call void @llvm.dbg.declare(metadata ptr %i2.i, metadata !43, metadata !DIExpression()), !dbg !45
   %b = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %b, metadata !46, metadata !DIExpression()), !dbg !47
+  call void @llvm.dbg.declare(metadata ptr %b, metadata !46, metadata !DIExpression()), !dbg !47
   %call.i = call i32 @getchar(), !dbg !48
   %cmp.i = icmp eq i32 %call.i, 97, !dbg !48
   br i1 %cmp.i, label %if.then.i, label %if.else.i, !dbg !49
 
 if.then.i:                                        ; preds = %entry
   %call1.i = call i32 @getchar(), !dbg !41
-  store i32 %call1.i, i32* %i.i, align 4, !dbg !41
-  %0 = load i32, i32* %i.i, align 4, !dbg !50
-  store i32 %0, i32* %retval.i, align 4, !dbg !50
+  store i32 %call1.i, ptr %i.i, align 4, !dbg !41
+  %0 = load i32, ptr %i.i, align 4, !dbg !50
+  store i32 %0, ptr %retval.i, align 4, !dbg !50
   br label %_Z7inlinedIiET_v.exit, !dbg !50
 
 if.else.i:                                        ; preds = %entry
-  store i32 97, i32* %i2.i, align 4, !dbg !45
-  %1 = load i32, i32* %i2.i, align 4, !dbg !51
-  store i32 %1, i32* %retval.i, align 4, !dbg !51
+  store i32 97, ptr %i2.i, align 4, !dbg !45
+  %1 = load i32, ptr %i2.i, align 4, !dbg !51
+  store i32 %1, ptr %retval.i, align 4, !dbg !51
   br label %_Z7inlinedIiET_v.exit, !dbg !51
 
 _Z7inlinedIiET_v.exit:                            ; preds = %if.else.i, %if.then.i
-  %2 = load i32, i32* %retval.i, align 4, !dbg !52
-  store i32 %2, i32* %b, align 4, !dbg !47
-  %3 = load i32, i32* %b, align 4, !dbg !53
+  %2 = load i32, ptr %retval.i, align 4, !dbg !52
+  store i32 %2, ptr %b, align 4, !dbg !47
+  %3 = load i32, ptr %b, align 4, !dbg !53
   %add = add nsw i32 %3, 1, !dbg !53
   ret i32 %add, !dbg !53
 }

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll b/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll
index 88ab48b7429c1..3e4feca06d56f 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll
@@ -48,32 +48,32 @@ define i32 @_Z1av() #0 !dbg !8 {
 entry:
   %retval.i = alloca i32, align 4
   %i.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i.i, metadata !12, metadata !DIExpression()), !dbg !19
+  call void @llvm.dbg.declare(metadata ptr %i.i, metadata !12, metadata !DIExpression()), !dbg !19
   %i2.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i2.i, metadata !21, metadata !DIExpression()), !dbg !23
+  call void @llvm.dbg.declare(metadata ptr %i2.i, metadata !21, metadata !DIExpression()), !dbg !23
   %a = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %a, metadata !24, metadata !DIExpression()), !dbg !25
+  call void @llvm.dbg.declare(metadata ptr %a, metadata !24, metadata !DIExpression()), !dbg !25
   %call.i = call i32 @getchar(), !dbg !26
   %cmp.i = icmp eq i32 %call.i, 97, !dbg !26
   br i1 %cmp.i, label %if.then.i, label %if.else.i, !dbg !27
 
 if.then.i:                                        ; preds = %entry
   %call1.i = call i32 @getchar(), !dbg !19
-  store i32 %call1.i, i32* %i.i, align 4, !dbg !19
-  %0 = load i32, i32* %i.i, align 4, !dbg !28
-  store i32 %0, i32* %retval.i, align 4, !dbg !28
+  store i32 %call1.i, ptr %i.i, align 4, !dbg !19
+  %0 = load i32, ptr %i.i, align 4, !dbg !28
+  store i32 %0, ptr %retval.i, align 4, !dbg !28
   br label %_Z7inlinedIiET_v.exit, !dbg !28
 
 if.else.i:                                        ; preds = %entry
-  store i32 97, i32* %i2.i, align 4, !dbg !23
-  %1 = load i32, i32* %i2.i, align 4, !dbg !29
-  store i32 %1, i32* %retval.i, align 4, !dbg !29
+  store i32 97, ptr %i2.i, align 4, !dbg !23
+  %1 = load i32, ptr %i2.i, align 4, !dbg !29
+  store i32 %1, ptr %retval.i, align 4, !dbg !29
   br label %_Z7inlinedIiET_v.exit, !dbg !29
 
 _Z7inlinedIiET_v.exit:                            ; preds = %if.then.i, %if.else.i
-  %2 = load i32, i32* %retval.i, align 4, !dbg !30
-  store i32 %2, i32* %a, align 4, !dbg !25
-  %3 = load i32, i32* %a, align 4, !dbg !31
+  %2 = load i32, ptr %retval.i, align 4, !dbg !30
+  store i32 %2, ptr %a, align 4, !dbg !25
+  %3 = load i32, ptr %a, align 4, !dbg !31
   %add = add nsw i32 %3, 1, !dbg !31
   ret i32 %add, !dbg !31
 }
@@ -86,32 +86,32 @@ define i32 @_Z1bv() #0 !dbg !32 {
 entry:
   %retval.i = alloca i32, align 4
   %i.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i.i, metadata !12, metadata !DIExpression()), !dbg !33
+  call void @llvm.dbg.declare(metadata ptr %i.i, metadata !12, metadata !DIExpression()), !dbg !33
   %i2.i = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %i2.i, metadata !21, metadata !DIExpression()), !dbg !35
+  call void @llvm.dbg.declare(metadata ptr %i2.i, metadata !21, metadata !DIExpression()), !dbg !35
   %b = alloca i32, align 4
-  call void @llvm.dbg.declare(metadata i32* %b, metadata !36, metadata !DIExpression()), !dbg !37
+  call void @llvm.dbg.declare(metadata ptr %b, metadata !36, metadata !DIExpression()), !dbg !37
   %call.i = call i32 @getchar(), !dbg !38
   %cmp.i = icmp eq i32 %call.i, 97, !dbg !38
   br i1 %cmp.i, label %if.then.i, label %if.else.i, !dbg !39
 
 if.then.i:                                        ; preds = %entry
   %call1.i = call i32 @getchar(), !dbg !33
-  store i32 %call1.i, i32* %i.i, align 4, !dbg !33
-  %0 = load i32, i32* %i.i, align 4, !dbg !40
-  store i32 %0, i32* %retval.i, align 4, !dbg !40
+  store i32 %call1.i, ptr %i.i, align 4, !dbg !33
+  %0 = load i32, ptr %i.i, align 4, !dbg !40
+  store i32 %0, ptr %retval.i, align 4, !dbg !40
   br label %_Z7inlinedIiET_v.exit, !dbg !40
 
 if.else.i:                                        ; preds = %entry
-  store i32 97, i32* %i2.i, align 4, !dbg !35
-  %1 = load i32, i32* %i2.i, align 4, !dbg !41
-  store i32 %1, i32* %retval.i, align 4, !dbg !41
+  store i32 97, ptr %i2.i, align 4, !dbg !35
+  %1 = load i32, ptr %i2.i, align 4, !dbg !41
+  store i32 %1, ptr %retval.i, align 4, !dbg !41
   br label %_Z7inlinedIiET_v.exit, !dbg !41
 
 _Z7inlinedIiET_v.exit:                            ; preds = %if.then.i, %if.else.i
-  %2 = load i32, i32* %retval.i, align 4, !dbg !42
-  store i32 %2, i32* %b, align 4, !dbg !37
-  %3 = load i32, i32* %b, align 4, !dbg !43
+  %2 = load i32, ptr %retval.i, align 4, !dbg !42
+  store i32 %2, ptr %b, align 4, !dbg !37
+  %3 = load i32, ptr %b, align 4, !dbg !43
   %add = add nsw i32 %3, 1, !dbg !43
   ret i32 %add, !dbg !43
 }
@@ -120,7 +120,7 @@ _Z7inlinedIiET_v.exit:                            ; preds = %if.then.i, %if.else
 define i32 @main() #2 !dbg !44 {
 entry:
   %retval = alloca i32, align 4
-  store i32 0, i32* %retval, align 4
+  store i32 0, ptr %retval, align 4
   %call = call i32 @_Z1av(), !dbg !45
   %call1 = call i32 @_Z1bv(), !dbg !45
   %add = add nsw i32 %call, %call1, !dbg !45

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll b/llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll
index 40fda32143206..85f66f492ff78 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll
@@ -33,9 +33,9 @@ target triple = "x86_64-unknown-linux-gnu"
 define dso_local i32 @_Z3fooi.1(i32 %a) !dbg !9 {
 entry:
   %a.addr = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %a.addr, metadata !14, metadata !DIExpression()), !dbg !15
-  %0 = load i32, i32* %a.addr, align 4, !dbg !15
+  store i32 %a, ptr %a.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %a.addr, metadata !14, metadata !DIExpression()), !dbg !15
+  %0 = load i32, ptr %a.addr, align 4, !dbg !15
   ret i32 %0, !dbg !15
 }
 ; Function Attrs: nounwind readnone speculatable willreturn
@@ -50,9 +50,9 @@ entry:
 define dso_local i32 @_Z3fooi(i32 %a) !dbg !23 {
 entry:
   %a.addr = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %a.addr, metadata !24, metadata !DIExpression()), !dbg !25
-  %0 = load i32, i32* %a.addr, align 4, !dbg !25
+  store i32 %a, ptr %a.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %a.addr, metadata !24, metadata !DIExpression()), !dbg !25
+  %0 = load i32, ptr %a.addr, align 4, !dbg !25
   ret i32 %0, !dbg !25
 }
 ; Function Attrs: noinline nounwind optnone uwtable

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll b/llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll
index 6653681b3701c..2f1e1e15aa3a9 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll
@@ -33,9 +33,9 @@ entry:
 define internal i32 @_ZL3fooi(i32 %a) !dbg !15 {
 entry:
   %a.addr = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %a.addr, metadata !18, metadata !DIExpression()), !dbg !19
-  %0 = load i32, i32* %a.addr, align 4, !dbg !20
+  store i32 %a, ptr %a.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %a.addr, metadata !18, metadata !DIExpression()), !dbg !19
+  %0 = load i32, ptr %a.addr, align 4, !dbg !20
   ret i32 %0
 }
 ; Function Attrs: nounwind readnone speculatable willreturn
@@ -50,9 +50,9 @@ entry:
 define internal i32 @_ZL3fooi.1(i32 %a) !dbg !25 {
 entry:
   %a.addr = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %a.addr, metadata !26, metadata !DIExpression()), !dbg !27
-  %0 = load i32, i32* %a.addr, align 4, !dbg !28
+  store i32 %a, ptr %a.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %a.addr, metadata !26, metadata !DIExpression()), !dbg !27
+  %0 = load i32, ptr %a.addr, align 4, !dbg !28
   %mul = mul nsw i32 %0, 2
   ret i32 %mul
 }

diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll b/llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll
index 935f3a2d1d353..db30b1fd24b01 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll
+++ b/llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll
@@ -27,37 +27,36 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
 ; Function Attrs: noinline nounwind uwtable
-define dso_local void @fn2(i32* nocapture %arg) local_unnamed_addr !dbg !15 {
+define dso_local void @fn2(ptr nocapture %arg) local_unnamed_addr !dbg !15 {
 entry:
-  call void @llvm.dbg.value(metadata i32* %arg, metadata !20, metadata !DIExpression()), !dbg !22
-  %0 = load i32, i32* %arg, align 4, !dbg !23
+  call void @llvm.dbg.value(metadata ptr %arg, metadata !20, metadata !DIExpression()), !dbg !22
+  %0 = load i32, ptr %arg, align 4, !dbg !23
   %inc = add nsw i32 %0, 1, !dbg !23
-  store i32 %inc, i32* %arg, align 4, !dbg !23
+  store i32 %inc, ptr %arg, align 4, !dbg !23
   call void @llvm.dbg.value(metadata i32 %inc, metadata !21, metadata !DIExpression()), !dbg !22
   %call = tail call i32 @fn3(i32 %inc), !dbg !23
   ret void, !dbg !23
 }
 
 ; Function Attrs: argmemonly nounwind willreturn
-declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture)
+declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
 
 declare !dbg !4 dso_local i32 @fn3(i32) local_unnamed_addr
 
 ; Function Attrs: argmemonly nounwind willreturn
-declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture)
+declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
 
 ; Function Attrs: noinline nounwind uwtable
 define dso_local i32 @f() local_unnamed_addr !dbg !24 {
 entry:
   %x = alloca i32, align 4
-  %0 = bitcast i32* %x to i8*, !dbg !29
-  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0), !dbg !29
+  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %x), !dbg !29
   %call = tail call i32 (...) @fn1() #4, !dbg !29
   call void @llvm.dbg.value(metadata i32 %call, metadata !28, metadata !DIExpression()), !dbg !30
-  store i32 %call, i32* %x, align 4, !dbg !29
-  call void @llvm.dbg.value(metadata i32* %x, metadata !28, metadata !DIExpression(DW_OP_deref)), !dbg !30
-  call void @fn2(i32* nonnull %x), !dbg !29
-  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0), !dbg !29
+  store i32 %call, ptr %x, align 4, !dbg !29
+  call void @llvm.dbg.value(metadata ptr %x, metadata !28, metadata !DIExpression(DW_OP_deref)), !dbg !30
+  call void @fn2(ptr nonnull %x), !dbg !29
+  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %x), !dbg !29
   ret i32 0, !dbg !29
 }
 

diff  --git a/llvm/test/tools/llvm-extract/extract-alias.ll b/llvm/test/tools/llvm-extract/extract-alias.ll
index ac7776dd7f39e..ecb653acbb739 100644
--- a/llvm/test/tools/llvm-extract/extract-alias.ll
+++ b/llvm/test/tools/llvm-extract/extract-alias.ll
@@ -5,45 +5,45 @@
 
 ; Both aliases should be converted to declarations
 ; CHECK:      @zeda0 = external global i32
-; CHECK:      define i32* @foo() {
+; CHECK:      define ptr @foo() {
 ; CHECK-NEXT:  call void @a0bar()
-; CHECK-NEXT:  ret i32* @zeda0
+; CHECK-NEXT:  ret ptr @zeda0
 ; CHECK-NEXT: }
 ; CHECK:      declare void @a0bar()
 
 ; DELETE:      @zed = global i32 0
-; DELETE:      @zeda0 = alias i32, i32* @zed
-; DELETE-NEXT: @a0foo = alias i32* (), i32* ()* @foo
-; DELETE-NEXT: @a0a0bar = alias void (), void ()* @bar
-; DELETE-NEXT: @a0bar = alias void (), void ()* @bar
-; DELETE:      declare i32* @foo()
+; DELETE:      @zeda0 = alias i32, ptr @zed
+; DELETE-NEXT: @a0foo = alias ptr (), ptr @foo
+; DELETE-NEXT: @a0a0bar = alias void (), ptr @bar
+; DELETE-NEXT: @a0bar = alias void (), ptr @bar
+; DELETE:      declare ptr @foo()
 ; DELETE:      define void @bar() {
-; DELETE-NEXT:  %c = call i32* @foo()
+; DELETE-NEXT:  %c = call ptr @foo()
 ; DELETE-NEXT:  ret void
 ; DELETE-NEXT: }
 
 ; ALIAS: @zed = external global i32
-; ALIAS: @zeda0 = alias i32, i32* @zed
+; ALIAS: @zeda0 = alias i32, ptr @zed
 
-; ALIASRE: @a0a0bar = alias void (), void ()* @bar
-; ALIASRE: @a0bar = alias void (), void ()* @bar
+; ALIASRE: @a0a0bar = alias void (), ptr @bar
+; ALIASRE: @a0bar = alias void (), ptr @bar
 ; ALIASRE: declare void @bar()
 
 @zed = global i32 0
- at zeda0 = alias i32, i32* @zed
+ at zeda0 = alias i32, ptr @zed
 
- at a0foo = alias i32* (), i32* ()* @foo
+ at a0foo = alias ptr (), ptr @foo
 
-define i32* @foo() {
+define ptr @foo() {
   call void @a0bar()
-  ret i32* @zeda0
+  ret ptr @zeda0
 }
 
- at a0a0bar = alias void (), void ()* @bar
+ at a0a0bar = alias void (), ptr @bar
 
- at a0bar = alias void (), void ()* @bar
+ at a0bar = alias void (), ptr @bar
 
 define void @bar() {
-  %c = call i32* @foo()
+  %c = call ptr @foo()
   ret void
 }

diff  --git a/llvm/test/tools/llvm-extract/extract-block.ll b/llvm/test/tools/llvm-extract/extract-block.ll
index 7cf0f16033794..03caf138aa36e 100644
--- a/llvm/test/tools/llvm-extract/extract-block.ll
+++ b/llvm/test/tools/llvm-extract/extract-block.ll
@@ -19,25 +19,25 @@ define i32 @foo(i32 %arg) {
 bb:
   %tmp = alloca i32, align 4
   %tmp1 = alloca i32, align 4
-  store i32 %arg, i32* %tmp1, align 4
-  %tmp2 = load i32, i32* %tmp1, align 4
+  store i32 %arg, ptr %tmp1, align 4
+  %tmp2 = load i32, ptr %tmp1, align 4
   %tmp3 = icmp sgt i32 %tmp2, 0
   br i1 %tmp3, label %bb4, label %bb7
 
 bb4:                                              ; preds = %bb
   call void @bar()
-  %tmp5 = load i32, i32* %tmp1, align 4
+  %tmp5 = load i32, ptr %tmp1, align 4
   %tmp6 = add nsw i32 %tmp5, 1
-  store i32 %tmp6, i32* %tmp1, align 4
-  store i32 %tmp6, i32* %tmp, align 4
+  store i32 %tmp6, ptr %tmp1, align 4
+  store i32 %tmp6, ptr %tmp, align 4
   br label %bb8
 
 bb7:                                              ; preds = %bb
-  store i32 0, i32* %tmp, align 4
+  store i32 0, ptr %tmp, align 4
   br label %bb8
 
 bb8:                                              ; preds = %bb7, %bb4
-  %tmp9 = load i32, i32* %tmp, align 4
+  %tmp9 = load i32, ptr %tmp, align 4
   ret i32 %tmp9
 }
 

diff  --git a/llvm/test/tools/llvm-extract/extract-invalid-block.ll b/llvm/test/tools/llvm-extract/extract-invalid-block.ll
index 04b40ca2b84c4..c49a33bdba932 100644
--- a/llvm/test/tools/llvm-extract/extract-invalid-block.ll
+++ b/llvm/test/tools/llvm-extract/extract-invalid-block.ll
@@ -5,24 +5,24 @@ define i32 @foo(i32 %arg) {
 bb:
   %tmp = alloca i32, align 4
   %tmp1 = alloca i32, align 4
-  store i32 %arg, i32* %tmp1, align 4
-  %tmp2 = load i32, i32* %tmp1, align 4
+  store i32 %arg, ptr %tmp1, align 4
+  %tmp2 = load i32, ptr %tmp1, align 4
   %tmp3 = icmp sgt i32 %tmp2, 0
   br i1 %tmp3, label %bb4, label %bb7
 
 bb4:                                              ; preds = %bb
-  %tmp5 = load i32, i32* %tmp1, align 4
+  %tmp5 = load i32, ptr %tmp1, align 4
   %tmp6 = add nsw i32 %tmp5, 1
-  store i32 %tmp6, i32* %tmp1, align 4
-  store i32 %tmp6, i32* %tmp, align 4
+  store i32 %tmp6, ptr %tmp1, align 4
+  store i32 %tmp6, ptr %tmp, align 4
   br label %bb8
 
 bb7:                                              ; preds = %bb
-  store i32 0, i32* %tmp, align 4
+  store i32 0, ptr %tmp, align 4
   br label %bb8
 
 bb8:                                              ; preds = %bb7, %bb4
-  %tmp9 = load i32, i32* %tmp, align 4
+  %tmp9 = load i32, ptr %tmp, align 4
   ret i32 %tmp9
 }
 

diff  --git a/llvm/test/tools/llvm-extract/extract-linkonce.ll b/llvm/test/tools/llvm-extract/extract-linkonce.ll
index 4c6b6b76a4abf..944ce7c459524 100644
--- a/llvm/test/tools/llvm-extract/extract-linkonce.ll
+++ b/llvm/test/tools/llvm-extract/extract-linkonce.ll
@@ -5,20 +5,20 @@
 ; dropped.
 
 ; CHECK:      @bar = external global i32
-; CHECK:      define weak i32* @foo() {
-; CHECK-NEXT:  ret i32* @bar
+; CHECK:      define weak ptr @foo() {
+; CHECK-NEXT:  ret ptr @bar
 ; CHECK-NEXT: }
 
 ; DELETE: @bar = weak global i32 42
-; DELETE: declare i32* @foo()
+; DELETE: declare ptr @foo()
 
 @bar = linkonce global i32 42
 
-define linkonce i32* @foo() {
-  ret i32* @bar
+define linkonce ptr @foo() {
+  ret ptr @bar
 }
 
 define void @g() {
-  call i32* @foo()
+  call ptr @foo()
   ret void
 }

diff  --git a/llvm/test/tools/llvm-extract/extract-multiple-blocks.ll b/llvm/test/tools/llvm-extract/extract-multiple-blocks.ll
index 343edff342fce..64c9c4f0d980e 100644
--- a/llvm/test/tools/llvm-extract/extract-multiple-blocks.ll
+++ b/llvm/test/tools/llvm-extract/extract-multiple-blocks.ll
@@ -6,24 +6,24 @@ define i32 @foo(i32 %arg) {
 bb:
   %tmp = alloca i32, align 4
   %tmp1 = alloca i32, align 4
-  store i32 %arg, i32* %tmp1, align 4
-  %tmp2 = load i32, i32* %tmp1, align 4
+  store i32 %arg, ptr %tmp1, align 4
+  %tmp2 = load i32, ptr %tmp1, align 4
   %tmp3 = icmp sgt i32 %tmp2, 0
   br i1 %tmp3, label %bb4, label %bb7
 
 bb4:                                              ; preds = %bb
-  %tmp5 = load i32, i32* %tmp1, align 4
+  %tmp5 = load i32, ptr %tmp1, align 4
   %tmp6 = add nsw i32 %tmp5, 1
-  store i32 %tmp6, i32* %tmp1, align 4
-  store i32 %tmp6, i32* %tmp, align 4
+  store i32 %tmp6, ptr %tmp1, align 4
+  store i32 %tmp6, ptr %tmp, align 4
   br label %bb8
 
 bb7:                                              ; preds = %bb
-  store i32 0, i32* %tmp, align 4
+  store i32 0, ptr %tmp, align 4
   br label %bb8
 
 bb8:                                              ; preds = %bb7, %bb4
-  %tmp9 = load i32, i32* %tmp, align 4
+  %tmp9 = load i32, ptr %tmp, align 4
   ret i32 %tmp9
 }
 

diff  --git a/llvm/test/tools/llvm-extract/extract-weak-odr.ll b/llvm/test/tools/llvm-extract/extract-weak-odr.ll
index 6618f58436451..34ff9377c9ee9 100644
--- a/llvm/test/tools/llvm-extract/extract-weak-odr.ll
+++ b/llvm/test/tools/llvm-extract/extract-weak-odr.ll
@@ -4,20 +4,20 @@
 ; Test that we don't convert weak_odr to external definitions.
 
 ; CHECK:      @bar = external global i32
-; CHECK:      define weak_odr i32* @foo() {
-; CHECK-NEXT:  ret i32* @bar
+; CHECK:      define weak_odr ptr @foo() {
+; CHECK-NEXT:  ret ptr @bar
 ; CHECK-NEXT: }
 
 ; DELETE: @bar = weak_odr global i32 42
-; DELETE: declare i32* @foo()
+; DELETE: declare ptr @foo()
 
 @bar = weak_odr global i32 42
 
-define weak_odr i32*  @foo() {
-  ret i32* @bar
+define weak_odr ptr  @foo() {
+  ret ptr @bar
 }
 
 define void @g() {
-  %c = call i32* @foo()
+  %c = call ptr @foo()
   ret void
 }

diff  --git a/llvm/test/tools/llvm-extract/keep-constinit.ll b/llvm/test/tools/llvm-extract/keep-constinit.ll
index de4b3fe7bf601..3847b0b219dfd 100644
--- a/llvm/test/tools/llvm-extract/keep-constinit.ll
+++ b/llvm/test/tools/llvm-extract/keep-constinit.ll
@@ -7,6 +7,6 @@
 @cv = constant i32 0
 
 define i32 @foo() {
-  %v = load i32, i32* @cv
+  %v = load i32, ptr @cv
   ret i32 %v
 }

diff  --git a/llvm/test/tools/llvm-locstats/locstats.ll b/llvm/test/tools/llvm-locstats/locstats.ll
index e980b227ff357..a44d36efac4ab 100644
--- a/llvm/test/tools/llvm-locstats/locstats.ll
+++ b/llvm/test/tools/llvm-locstats/locstats.ll
@@ -59,12 +59,12 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
 ; Function Attrs: noinline nounwind uwtable
-define dso_local i32 @fn1(i32* nocapture readonly %0, i32* nocapture readonly %1) local_unnamed_addr !dbg !7 {
-  call void @llvm.dbg.value(metadata i32* %0, metadata !13, metadata !DIExpression()), !dbg !19
-  call void @llvm.dbg.value(metadata i32* %1, metadata !14, metadata !DIExpression()), !dbg !19
-  %3 = load i32, i32* %0, align 4, !dbg !20
+define dso_local i32 @fn1(ptr nocapture readonly %0, ptr nocapture readonly %1) local_unnamed_addr !dbg !7 {
+  call void @llvm.dbg.value(metadata ptr %0, metadata !13, metadata !DIExpression()), !dbg !19
+  call void @llvm.dbg.value(metadata ptr %1, metadata !14, metadata !DIExpression()), !dbg !19
+  %3 = load i32, ptr %0, align 4, !dbg !20
   call void @llvm.dbg.value(metadata i32 %3, metadata !15, metadata !DIExpression()), !dbg !19
-  %4 = load i32, i32* %1, align 4, !dbg !20
+  %4 = load i32, ptr %1, align 4, !dbg !20
   call void @llvm.dbg.value(metadata i32 %4, metadata !16, metadata !DIExpression()), !dbg !19
   %5 = add nsw i32 %4, %3, !dbg !20
   call void @llvm.dbg.value(metadata i32 %5, metadata !17, metadata !DIExpression()), !dbg !19
@@ -113,14 +113,12 @@ declare dso_local i32 @fn2(i32) local_unnamed_addr
 define dso_local i32 @f() local_unnamed_addr !dbg !35 {
   %1 = alloca i32, align 4
   %2 = alloca i32, align 4
-  %3 = bitcast i32* %1 to i8*, !dbg !42
-  %4 = bitcast i32* %2 to i8*, !dbg !42
   call void @llvm.dbg.value(metadata i32 0, metadata !41, metadata !DIExpression()), !dbg !42
-  call void @llvm.dbg.value(metadata i32* %1, metadata !39, metadata !DIExpression(DW_OP_deref)), !dbg !42
-  call void @llvm.dbg.value(metadata i32* %2, metadata !40, metadata !DIExpression(DW_OP_deref)), !dbg !42
-  %5 = call i32 @fn1(i32* nonnull %1, i32* nonnull %2), !dbg !42
-  call void @llvm.dbg.value(metadata i32 %5, metadata !41, metadata !DIExpression()), !dbg !42
-  ret i32 %5, !dbg !42
+  call void @llvm.dbg.value(metadata ptr %1, metadata !39, metadata !DIExpression(DW_OP_deref)), !dbg !42
+  call void @llvm.dbg.value(metadata ptr %2, metadata !40, metadata !DIExpression(DW_OP_deref)), !dbg !42
+  %3 = call i32 @fn1(ptr nonnull %1, ptr nonnull %2), !dbg !42
+  call void @llvm.dbg.value(metadata i32 %3, metadata !41, metadata !DIExpression()), !dbg !42
+  ret i32 %3, !dbg !42
 }
 
 ; Function Attrs: nounwind readnone speculatable willreturn

diff  --git a/llvm/test/tools/llvm-lto/ltomodule.ll b/llvm/test/tools/llvm-lto/ltomodule.ll
index 1f2b1b733baad..fa712cde52e1c 100644
--- a/llvm/test/tools/llvm-lto/ltomodule.ll
+++ b/llvm/test/tools/llvm-lto/ltomodule.ll
@@ -16,16 +16,16 @@
 ; NEGATIVE: .bc: hasCtorDtor = false
 
 ;--- hasCtor.ll
- at llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @constructor, i8* null }]
+ at llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @constructor, ptr null }]
 declare void @constructor()
 
 ;--- hasDtor.ll
- at llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @destructor, i8* null }]
+ at llvm.global_dtors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @destructor, ptr null }]
 declare void @destructor()
 
 ;--- hasBoth.ll
- at llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @constructor, i8* null }]
- at llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @destructor, i8* null }]
+ at llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @constructor, ptr null }]
+ at llvm.global_dtors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @destructor, ptr null }]
 declare void @constructor()
 declare void @destructor()
 

diff  --git a/llvm/test/tools/llvm-lto2/X86/slp-vectorize-pm.ll b/llvm/test/tools/llvm-lto2/X86/slp-vectorize-pm.ll
index b114bf6c6528c..f5cadc127ef84 100644
--- a/llvm/test/tools/llvm-lto2/X86/slp-vectorize-pm.ll
+++ b/llvm/test/tools/llvm-lto2/X86/slp-vectorize-pm.ll
@@ -29,15 +29,15 @@
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-define i32 @foo(i32* %a) {
+define i32 @foo(ptr %a) {
 entry:
   br label %for.body
 
 for.body:
   %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
   %red.05 = phi i32 [ 0, %entry ], [ %add, %for.body ]
-  %arrayidx = getelementptr inbounds i32, i32* %a, i64 %indvars.iv
-  %0 = load i32, i32* %arrayidx, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %a, i64 %indvars.iv
+  %0 = load i32, ptr %arrayidx, align 4
   %add = add nsw i32 %0, %red.05
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %exitcond = icmp eq i64 %indvars.iv.next, 255

diff  --git a/llvm/test/tools/llvm-nm/Inputs/bitcode-sym32.ll b/llvm/test/tools/llvm-nm/Inputs/bitcode-sym32.ll
index 0c76f09fd22bc..d5a1bf9d4a493 100644
--- a/llvm/test/tools/llvm-nm/Inputs/bitcode-sym32.ll
+++ b/llvm/test/tools/llvm-nm/Inputs/bitcode-sym32.ll
@@ -6,9 +6,9 @@ target triple = "powerpcle-unknown-linux-gnu"
 define dso_local i32 @foo32(i32 %i) #0 {
 entry:
   %i.addr = alloca i32, align 4
-  store i32 %i, i32* %i.addr, align 4
-  %0 = load i32, i32* %i.addr, align 4
-  %1 = load i32, i32* @undef_var32, align 4
+  store i32 %i, ptr %i.addr, align 4
+  %0 = load i32, ptr %i.addr, align 4
+  %1 = load i32, ptr @undef_var32, align 4
   %add = add nsw i32 %0, %1
   ret i32 %add
 }

diff  --git a/llvm/test/tools/llvm-nm/Inputs/bitcode-sym64.ll b/llvm/test/tools/llvm-nm/Inputs/bitcode-sym64.ll
index cd749199fe79a..a3c7607574890 100644
--- a/llvm/test/tools/llvm-nm/Inputs/bitcode-sym64.ll
+++ b/llvm/test/tools/llvm-nm/Inputs/bitcode-sym64.ll
@@ -5,8 +5,8 @@ target triple = "powerpc64le-unknown-linux-gnu"
 
 define dso_local signext i32 @bar64() #0 {
 entry:
-  %0 = load i32, i32* @static_var64, align 4
-  %1 = load i32, i32* @C64, align 4
+  %0 = load i32, ptr @static_var64, align 4
+  %1 = load i32, ptr @C64, align 4
   %add = add nsw i32 %0, %1
   ret i32 %add
 }

diff  --git a/llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll b/llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
index 7b8a53a2626a3..a9c3cc7038544 100644
--- a/llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
+++ b/llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
@@ -42,26 +42,26 @@ target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-i64:
 target triple = "amdgcn-amd-amdhsa"
 
 ; Function Attrs: noinline nounwind
-define amdgpu_kernel void @source_lines_test(i32 addrspace(1)* %Out) #0 !dbg !7 !kernel_arg_addr_space !12 !kernel_arg_access_qual !13 !kernel_arg_type !14 !kernel_arg_base_type !14 !kernel_arg_type_qual !15 {
+define amdgpu_kernel void @source_lines_test(ptr addrspace(1) %Out) #0 !dbg !7 !kernel_arg_addr_space !12 !kernel_arg_access_qual !13 !kernel_arg_type !14 !kernel_arg_base_type !14 !kernel_arg_type_qual !15 {
 entry:
-  %Out.addr = alloca i32 addrspace(1)*, align 4, addrspace(5)
+  %Out.addr = alloca ptr addrspace(1), align 4, addrspace(5)
   %var0 = alloca i32, align 4, addrspace(5)
   %var1 = alloca i32, align 4, addrspace(5)
   %var2 = alloca i32, align 4, addrspace(5)
-  store i32 addrspace(1)* %Out, i32 addrspace(1)* addrspace(5)* %Out.addr, align 4
-  call void @llvm.dbg.declare(metadata i32 addrspace(1)* addrspace(5)* %Out.addr, metadata !16, metadata !17), !dbg !18
-  call void @llvm.dbg.declare(metadata i32 addrspace(5)* %var0, metadata !19, metadata !17), !dbg !20
-  store i32 1911, i32 addrspace(5)* %var0, align 4, !dbg !20
-  call void @llvm.dbg.declare(metadata i32 addrspace(5)* %var1, metadata !21, metadata !17), !dbg !22
-  store i32 2184, i32 addrspace(5)* %var1, align 4, !dbg !22
-  call void @llvm.dbg.declare(metadata i32 addrspace(5)* %var2, metadata !23, metadata !17), !dbg !24
-  %0 = load i32, i32 addrspace(5)* %var0, align 4, !dbg !25
-  %1 = load i32, i32 addrspace(5)* %var1, align 4, !dbg !26
+  store ptr addrspace(1) %Out, ptr addrspace(5) %Out.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr addrspace(5) %Out.addr, metadata !16, metadata !17), !dbg !18
+  call void @llvm.dbg.declare(metadata ptr addrspace(5) %var0, metadata !19, metadata !17), !dbg !20
+  store i32 1911, ptr addrspace(5) %var0, align 4, !dbg !20
+  call void @llvm.dbg.declare(metadata ptr addrspace(5) %var1, metadata !21, metadata !17), !dbg !22
+  store i32 2184, ptr addrspace(5) %var1, align 4, !dbg !22
+  call void @llvm.dbg.declare(metadata ptr addrspace(5) %var2, metadata !23, metadata !17), !dbg !24
+  %0 = load i32, ptr addrspace(5) %var0, align 4, !dbg !25
+  %1 = load i32, ptr addrspace(5) %var1, align 4, !dbg !26
   %add = add nsw i32 %0, %1, !dbg !27
-  store i32 %add, i32 addrspace(5)* %var2, align 4, !dbg !24
-  %2 = load i32, i32 addrspace(5)* %var2, align 4, !dbg !28
-  %3 = load i32 addrspace(1)*, i32 addrspace(1)* addrspace(5)* %Out.addr, align 4, !dbg !29
-  store i32 %2, i32 addrspace(1)* %3, align 4, !dbg !30
+  store i32 %add, ptr addrspace(5) %var2, align 4, !dbg !24
+  %2 = load i32, ptr addrspace(5) %var2, align 4, !dbg !28
+  %3 = load ptr addrspace(1), ptr addrspace(5) %Out.addr, align 4, !dbg !29
+  store i32 %2, ptr addrspace(1) %3, align 4, !dbg !30
   ret void, !dbg !31
 }
 

diff  --git a/llvm/test/tools/llvm-objdump/ELF/Hexagon/source-interleave-hexagon.ll b/llvm/test/tools/llvm-objdump/ELF/Hexagon/source-interleave-hexagon.ll
index 96f1ab4244402..0024e0b4908ab 100644
--- a/llvm/test/tools/llvm-objdump/ELF/Hexagon/source-interleave-hexagon.ll
+++ b/llvm/test/tools/llvm-objdump/ELF/Hexagon/source-interleave-hexagon.ll
@@ -12,7 +12,7 @@ target triple = "hexagon-unknown--elf"
 ; Function Attrs: nounwind
 define i32 @foo() #0 !dbg !9 {
 entry:
-  %0 = load i32, i32* @a, align 4, !dbg !12
+  %0 = load i32, ptr @a, align 4, !dbg !12
   ret i32 %0, !dbg !13
 }
 
@@ -20,12 +20,12 @@ entry:
 define i32 @main() #0 !dbg !14 {
 entry:
   %retval = alloca i32, align 4
-  %b = alloca i32*, align 4
-  store i32 0, i32* %retval, align 4
-  call void @llvm.dbg.declare(metadata i32** %b, metadata !15, metadata !17), !dbg !18
-  store i32* @a, i32** %b, align 4, !dbg !18
-  %0 = load i32*, i32** %b, align 4, !dbg !19
-  %1 = load i32, i32* %0, align 4, !dbg !20
+  %b = alloca ptr, align 4
+  store i32 0, ptr %retval, align 4
+  call void @llvm.dbg.declare(metadata ptr %b, metadata !15, metadata !17), !dbg !18
+  store ptr @a, ptr %b, align 4, !dbg !18
+  %0 = load ptr, ptr %b, align 4, !dbg !19
+  %1 = load i32, ptr %0, align 4, !dbg !20
   %call = call i32 @foo(), !dbg !21
   %add = add nsw i32 %1, %call, !dbg !22
   ret i32 %add, !dbg !23

diff  --git a/llvm/test/tools/llvm-objdump/Inputs/trivial.ll b/llvm/test/tools/llvm-objdump/Inputs/trivial.ll
index f11284a769620..27fd9bb80de49 100644
--- a/llvm/test/tools/llvm-objdump/Inputs/trivial.ll
+++ b/llvm/test/tools/llvm-objdump/Inputs/trivial.ll
@@ -5,15 +5,15 @@
 
 define i32 @main() nounwind {
 entry:
-  %call = tail call i32 @puts(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0)) nounwind
-  tail call void bitcast (void (...)* @SomeOtherFunction to void ()*)() nounwind
+  %call = tail call i32 @puts(ptr @.str) nounwind
+  tail call void @SomeOtherFunction() nounwind
   ret i32 0
 }
 
-declare i32 @puts(i8* nocapture) nounwind
+declare i32 @puts(ptr nocapture) nounwind
 
 declare void @SomeOtherFunction(...)
 
 @var = global i32 0
- at llvm.used = appending global [1 x i8*] [i8* bitcast (i32* @var to i8*)], section "llvm.metadata"
- at llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* null, i8* null }]
+ at llvm.used = appending global [1 x ptr] [ptr @var], section "llvm.metadata"
+ at llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr null, ptr null }]

diff  --git a/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave-same-line-
diff erent-file.ll b/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave-same-line-
diff erent-file.ll
index 8b8b90152e88a..ece81139ccc6b 100644
--- a/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave-same-line-
diff erent-file.ll
+++ b/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave-same-line-
diff erent-file.ll
@@ -14,9 +14,9 @@ target triple = "x86_64-unknown-linux-gnu"
 define dso_local i32 @add1(i32 %a) #0 !dbg !7 {
 entry:
   %a.addr = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %a.addr, metadata !12, metadata !DIExpression()), !dbg !13
-  %0 = load i32, i32* %a.addr, align 4, !dbg !14
+  store i32 %a, ptr %a.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %a.addr, metadata !12, metadata !DIExpression()), !dbg !13
+  %0 = load i32, ptr %a.addr, align 4, !dbg !14
   %add = add nsw i32 %0, 1, !dbg !15
   ret i32 %add, !dbg !16
 }

diff  --git a/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave.ll b/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave.ll
index 96fb72e08f141..f8da1a9ac4b53 100644
--- a/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave.ll
+++ b/llvm/test/tools/llvm-objdump/X86/Inputs/source-interleave.ll
@@ -11,7 +11,7 @@ target triple = "x86_64-unknown-linux-gnu"
 ; Function Attrs: nounwind uwtable
 define i32 @foo() #0 !dbg !9 {
 entry:
-  %0 = load i32, i32* @a, align 4, !dbg !12
+  %0 = load i32, ptr @a, align 4, !dbg !12
   ret i32 %0, !dbg !13
 }
 
@@ -19,12 +19,12 @@ entry:
 define i32 @main() #0 !dbg !14 {
 entry:
   %retval = alloca i32, align 4
-  %b = alloca i32*, align 8
-  store i32 0, i32* %retval, align 4
-  call void @llvm.dbg.declare(metadata i32** %b, metadata !15, metadata !17), !dbg !18
-  store i32* @a, i32** %b, align 8, !dbg !18
-  %0 = load i32*, i32** %b, align 8, !dbg !19
-  %1 = load i32, i32* %0, align 4, !dbg !20
+  %b = alloca ptr, align 8
+  store i32 0, ptr %retval, align 4
+  call void @llvm.dbg.declare(metadata ptr %b, metadata !15, metadata !17), !dbg !18
+  store ptr @a, ptr %b, align 8, !dbg !18
+  %0 = load ptr, ptr %b, align 8, !dbg !19
+  %1 = load i32, ptr %0, align 4, !dbg !20
   %call = call i32 @foo(), !dbg !21
   %add = add nsw i32 %1, %call, !dbg !22
   ret i32 %add, !dbg !23

diff  --git a/llvm/test/tools/llvm-objdump/X86/disassemble-archive-with-source.ll b/llvm/test/tools/llvm-objdump/X86/disassemble-archive-with-source.ll
index 2fbbe12a18433..69bb23892c340 100644
--- a/llvm/test/tools/llvm-objdump/X86/disassemble-archive-with-source.ll
+++ b/llvm/test/tools/llvm-objdump/X86/disassemble-archive-with-source.ll
@@ -16,9 +16,9 @@
 define i32 @foo(i32 %a) #0 !dbg !8 {
 entry:
   %a.addr = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  call void @llvm.dbg.declare(metadata i32* %a.addr, metadata !12, metadata !DIExpression()), !dbg !13
-  %0 = load i32, i32* %a.addr, align 4, !dbg !14
+  store i32 %a, ptr %a.addr, align 4
+  call void @llvm.dbg.declare(metadata ptr %a.addr, metadata !12, metadata !DIExpression()), !dbg !13
+  %0 = load i32, ptr %a.addr, align 4, !dbg !14
   %add = add nsw i32 %0, 1, !dbg !14
   ret i32 %add, !dbg !14
 }

diff  --git a/llvm/test/tools/llvm-profgen/Inputs/symbolize.ll b/llvm/test/tools/llvm-profgen/Inputs/symbolize.ll
index 9c547379b02cc..1d459221ff1de 100644
--- a/llvm/test/tools/llvm-profgen/Inputs/symbolize.ll
+++ b/llvm/test/tools/llvm-profgen/Inputs/symbolize.ll
@@ -7,7 +7,7 @@ define dso_local i32 @funcA.llvm.1000(i32 %x) !dbg !12 {
 entry:
   call void @llvm.dbg.value(metadata i32 %x, metadata !16, metadata !DIExpression()), !dbg !18
   call void @llvm.dbg.value(metadata i32 %x, metadata !19, metadata !DIExpression()), !dbg !22
-  %0 = load volatile i32, i32* @factor, align 4, !dbg !24, !tbaa !25
+  %0 = load volatile i32, ptr @factor, align 4, !dbg !24, !tbaa !25
   call void @llvm.dbg.value(metadata i32 %0, metadata !29, metadata !DIExpression()), !dbg !32
   %cmp.i.i = icmp slt i32 %0, 3, !dbg !34
   %add.i.i = add nsw i32 %0, 3, !dbg !36
@@ -21,7 +21,7 @@ entry:
 define dso_local i32 @funcLeaf(i32 %x) !dbg !20 {
 entry:
   call void @llvm.dbg.value(metadata i32 %x, metadata !19, metadata !DIExpression()), !dbg !39
-  %0 = load volatile i32, i32* @factor, align 4, !dbg !40, !tbaa !25
+  %0 = load volatile i32, ptr @factor, align 4, !dbg !40, !tbaa !25
   call void @llvm.dbg.value(metadata i32 %0, metadata !29, metadata !DIExpression()), !dbg !41
   %cmp.i = icmp slt i32 %0, 3, !dbg !43
   %add.i = add nsw i32 %0, 3, !dbg !44

diff  --git a/llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll b/llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll
index 78ad710aff477..20ac5fd551267 100644
--- a/llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll
+++ b/llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll
@@ -72,12 +72,12 @@ if.end:                                           ; preds = %if.else, %if.then
 
 while.end:                                        ; preds = %if.end
   call void @llvm.pseudoprobe(i64 6699318081062747564, i64 7, i32 0, i64 -1), !dbg !57
-  %call1 = call i32 (i8*, ...) @printf(i8* nonnull dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0), i32 %s.1), !dbg !58
+  %call1 = call i32 (ptr, ...) @printf(ptr nonnull dereferenceable(1) @.str, i32 %s.1), !dbg !58
   ret void, !dbg !60
 }
 
 ; Function Attrs: nofree nounwind
-declare dso_local noundef i32 @printf(i8* nocapture noundef readonly, ...) local_unnamed_addr #2
+declare dso_local noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #2
 
 ; Function Attrs: nounwind uwtable
 define dso_local i32 @main() local_unnamed_addr #3 !dbg !61 {

diff  --git a/llvm/test/tools/llvm-readobj/COFF/Inputs/trivial.ll b/llvm/test/tools/llvm-readobj/COFF/Inputs/trivial.ll
index 63fa224a4cdbf..2787d8d33fba8 100644
--- a/llvm/test/tools/llvm-readobj/COFF/Inputs/trivial.ll
+++ b/llvm/test/tools/llvm-readobj/COFF/Inputs/trivial.ll
@@ -6,11 +6,11 @@
 
 define i32 @main() nounwind {
 entry:
-  %call = tail call i32 @puts(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0)) nounwind
-  tail call void bitcast (void (...)* @SomeOtherFunction to void ()*)() nounwind
+  %call = tail call i32 @puts(ptr @.str) nounwind
+  tail call void @SomeOtherFunction() nounwind
   ret i32 0
 }
 
-declare i32 @puts(i8* nocapture) nounwind
+declare i32 @puts(ptr nocapture) nounwind
 
 declare void @SomeOtherFunction(...)

diff  --git a/llvm/test/tools/llvm-readobj/MachO/Inputs/trivial.ll b/llvm/test/tools/llvm-readobj/MachO/Inputs/trivial.ll
index 21a3cf2a95942..5730501389c3c 100644
--- a/llvm/test/tools/llvm-readobj/MachO/Inputs/trivial.ll
+++ b/llvm/test/tools/llvm-readobj/MachO/Inputs/trivial.ll
@@ -6,11 +6,11 @@
 
 define i32 @main() nounwind {
 entry:
-  %call = tail call i32 @puts(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0)) nounwind
-  tail call void bitcast (void (...)* @SomeOtherFunction to void ()*)() nounwind
+  %call = tail call i32 @puts(ptr @.str) nounwind
+  tail call void @SomeOtherFunction() nounwind
   ret i32 0
 }
 
-declare i32 @puts(i8* nocapture) nounwind
+declare i32 @puts(ptr nocapture) nounwind
 
 declare void @SomeOtherFunction(...)

diff  --git a/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.ll b/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.ll
index b0de85bbeede5..0477a31096d61 100644
--- a/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.ll
+++ b/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.ll
@@ -5,11 +5,11 @@
 
 define i32 @main() nounwind {
 entry:
-  %call = tail call i32 @puts(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0)) nounwind
-  tail call void bitcast (void (...)* @SomeOtherFunction to void ()*)() nounwind
+  %call = tail call i32 @puts(ptr @.str) nounwind
+  tail call void @SomeOtherFunction() nounwind
   ret i32 0
 }
 
-declare i32 @puts(i8* nocapture) nounwind
+declare i32 @puts(ptr nocapture) nounwind
 
 declare void @SomeOtherFunction(...)

diff  --git a/llvm/test/tools/llvm-sim/Inputs/sim1.ll b/llvm/test/tools/llvm-sim/Inputs/sim1.ll
index facc27d285b07..19cfe2fd6f298 100644
--- a/llvm/test/tools/llvm-sim/Inputs/sim1.ll
+++ b/llvm/test/tools/llvm-sim/Inputs/sim1.ll
@@ -3,12 +3,12 @@ entry:
   %a = alloca i32, align 4
   %b = alloca i32, align 4
   %c = alloca i32, align 4
-  store i32 2, i32* %a, align 4
-  store i32 3, i32* %b, align 4
-  store i32 4, i32* %c, align 4
-  %al = load i32, i32* %a
-  %bl = load i32, i32* %b
-  %cl = load i32, i32* %c
+  store i32 2, ptr %a, align 4
+  store i32 3, ptr %b, align 4
+  store i32 4, ptr %c, align 4
+  %al = load i32, ptr %a
+  %bl = load i32, ptr %b
+  %cl = load i32, ptr %c
   ret void
 }
 
@@ -17,11 +17,11 @@ entry:
   %a = alloca i32, align 4
   %b = alloca i32, align 4
   %c = alloca i32, align 4
-  store i32 2, i32* %a, align 4
-  store i32 3, i32* %b, align 4
-  store i32 4, i32* %c, align 4
-  %al = load i32, i32* %a
-  %bl = load i32, i32* %b
-  %cl = load i32, i32* %c
+  store i32 2, ptr %a, align 4
+  store i32 3, ptr %b, align 4
+  store i32 4, ptr %c, align 4
+  %al = load i32, ptr %a
+  %bl = load i32, ptr %b
+  %cl = load i32, ptr %c
   ret void
 }

diff  --git a/llvm/test/tools/llvm-symbolizer/output-style-json-frame.ll b/llvm/test/tools/llvm-symbolizer/output-style-json-frame.ll
index 9cdbf4f1c13dd..d6cb4030c0927 100644
--- a/llvm/test/tools/llvm-symbolizer/output-style-json-frame.ll
+++ b/llvm/test/tools/llvm-symbolizer/output-style-json-frame.ll
@@ -28,14 +28,14 @@ target triple="aarch64--"
 
 define void @f() !dbg !6 {
 entry:
-  %a = alloca i8*
-  %b = alloca i8*
+  %a = alloca ptr
+  %b = alloca ptr
   %c = alloca i32 ; To check a variable with a 
diff erent size.
   ; Note: The following 2 lines declares the tag offsets we are checking in this test.
   ; The tag offset for the 3rd variable is missing for purpose.
-  call void @llvm.dbg.declare(metadata i8** %a, metadata !12, metadata !DIExpression(DW_OP_LLVM_tag_offset, 0)), !dbg !15
-  call void @llvm.dbg.declare(metadata i8** %b, metadata !13, metadata !DIExpression(DW_OP_LLVM_tag_offset, 1)), !dbg !16
-  call void @llvm.dbg.declare(metadata i32* %c, metadata !14, metadata !DIExpression()), !dbg !17
+  call void @llvm.dbg.declare(metadata ptr %a, metadata !12, metadata !DIExpression(DW_OP_LLVM_tag_offset, 0)), !dbg !15
+  call void @llvm.dbg.declare(metadata ptr %b, metadata !13, metadata !DIExpression(DW_OP_LLVM_tag_offset, 1)), !dbg !16
+  call void @llvm.dbg.declare(metadata ptr %c, metadata !14, metadata !DIExpression()), !dbg !17
   ret void, !dbg !18
 }
 

diff  --git a/llvm/test/tools/llvm-symbolizer/padding-x86_64.ll b/llvm/test/tools/llvm-symbolizer/padding-x86_64.ll
index e8f4c6323038c..2e3e36068fd53 100644
--- a/llvm/test/tools/llvm-symbolizer/padding-x86_64.ll
+++ b/llvm/test/tools/llvm-symbolizer/padding-x86_64.ll
@@ -14,7 +14,7 @@
 
 define i32 @foo() !dbg !9 {
 entry:
-  %0 = load i32, i32* @a, align 4
+  %0 = load i32, ptr @a, align 4
   ret i32 %0
 }
 

diff  --git a/llvm/test/tools/lto/hide-linkonce-odr.ll b/llvm/test/tools/lto/hide-linkonce-odr.ll
index df4b338d2fed3..19d0fa75214d7 100644
--- a/llvm/test/tools/lto/hide-linkonce-odr.ll
+++ b/llvm/test/tools/lto/hide-linkonce-odr.ll
@@ -5,7 +5,7 @@
 ; check that @a is no longer a linkonce_odr definition
 ; IR-NOT: define linkonce_odr void @a()
 ; check that @b is appended in llvm.used
-; IR: @llvm.compiler.used = appending global [2 x i8*] [i8* bitcast ([1 x i8*]* @GlobLinkonce to i8*), i8* bitcast (void ()* @b to i8*)], section "llvm.metadata"
+; IR: @llvm.compiler.used = appending global [2 x ptr] [ptr @GlobLinkonce, ptr @b], section "llvm.metadata"
 
 ; RUN: llvm-nm %t.dylib | FileCheck --check-prefix=NM %s
 ; check that the linker can hide @a but not @b, nor @GlobLinkonce
@@ -20,10 +20,10 @@ target triple = "x86_64-apple-macosx10.10.0"
 
 declare void @external()
 
- at GlobLinkonce = linkonce_odr unnamed_addr constant [1 x i8*] [i8* null], align 8
+ at GlobLinkonce = linkonce_odr unnamed_addr constant [1 x ptr] [ptr null], align 8
 
 define linkonce_odr void @a() noinline {
-  %use_of_GlobLinkonce = load [1 x i8*], [1 x i8*] *@GlobLinkonce
+  %use_of_GlobLinkonce = load [1 x ptr], ptr at GlobLinkonce
   call void @external()
   ret void
 }
@@ -32,7 +32,7 @@ define linkonce_odr void @b() {
   ret void
 }
 
-define void()* @c() {
+define ptr @c() {
   call void @a()
-  ret void()* @b
+  ret ptr @b
 }


        


More information about the llvm-commits mailing list