[llvm] 75a4792 - [Assembler] Convert tests to opaque pointers (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 05:36:31 PST 2022


Author: Nikita Popov
Date: 2022-12-13T14:36:21+01:00
New Revision: 75a479221b72c8b4827470485949cebf67d1c967

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

LOG: [Assembler] Convert tests to opaque pointers (NFC)

Some tests are removed because the error conditions can no longer
occur with opaque pointers.

Added: 
    

Modified: 
    llvm/test/Assembler/2002-03-08-NameCollision.ll
    llvm/test/Assembler/2002-03-08-NameCollision2.ll
    llvm/test/Assembler/2002-04-29-NameBinding.ll
    llvm/test/Assembler/2002-07-14-OpaqueType.ll
    llvm/test/Assembler/2002-07-25-QuoteInString.ll
    llvm/test/Assembler/2002-07-25-ReturnPtrFunction.ll
    llvm/test/Assembler/2002-08-15-ConstantExprProblem.ll
    llvm/test/Assembler/2002-08-15-UnresolvedGlobalReference.ll
    llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
    llvm/test/Assembler/2002-08-19-BytecodeReader.ll
    llvm/test/Assembler/2002-10-08-LargeArrayPerformance.ll
    llvm/test/Assembler/2002-10-13-ConstantEncodingProblem.ll
    llvm/test/Assembler/2002-12-15-GlobalResolve.ll
    llvm/test/Assembler/2003-04-25-UnresolvedGlobalReference.ll
    llvm/test/Assembler/2003-05-15-AssemblerProblem.ll
    llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
    llvm/test/Assembler/2003-08-21-ConstantExprCast-Fold.ll
    llvm/test/Assembler/2003-11-05-ConstantExprShift.ll
    llvm/test/Assembler/2003-11-12-ConstantExprCast.ll
    llvm/test/Assembler/2004-01-11-getelementptrfolding.ll
    llvm/test/Assembler/2004-02-27-SelfUseAssertError.ll
    llvm/test/Assembler/2004-03-07-FunctionAddressAlignment.ll
    llvm/test/Assembler/2004-04-04-GetElementPtrIndexTypes.ll
    llvm/test/Assembler/2004-06-07-VerifierBug.ll
    llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
    llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll
    llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
    llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
    llvm/test/Assembler/2007-04-20-AlignedLoad.ll
    llvm/test/Assembler/2007-04-20-AlignedStore.ll
    llvm/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll
    llvm/test/Assembler/2007-05-21-Escape.ll
    llvm/test/Assembler/2007-09-10-AliasFwdRef.ll
    llvm/test/Assembler/2007-11-26-AttributeOverload.ll
    llvm/test/Assembler/2007-12-11-AddressSpaces.ll
    llvm/test/Assembler/2008-01-11-VarargAttrs.ll
    llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
    llvm/test/Assembler/2009-02-01-UnnamedForwardRef.ll
    llvm/test/Assembler/2009-02-28-CastOpc.ll
    llvm/test/Assembler/2009-02-28-StripOpaqueName.ll
    llvm/test/Assembler/2009-03-24-ZextConstantExpr.ll
    llvm/test/Assembler/2009-07-24-ZeroArgGEP.ll
    llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
    llvm/test/Assembler/ConstantExprFold.ll
    llvm/test/Assembler/ConstantExprFoldCast.ll
    llvm/test/Assembler/ConstantExprNoFold.ll
    llvm/test/Assembler/DIDefaultTemplateParam.ll
    llvm/test/Assembler/MultipleReturnValueType.ll
    llvm/test/Assembler/aarch64-intrinsics-attributes.ll
    llvm/test/Assembler/addrspacecast-alias.ll
    llvm/test/Assembler/aggregate-constant-values.ll
    llvm/test/Assembler/alias-redefinition.ll
    llvm/test/Assembler/alias-use-list-order.ll
    llvm/test/Assembler/align-inst-load.ll
    llvm/test/Assembler/align-inst-store.ll
    llvm/test/Assembler/align-inst.ll
    llvm/test/Assembler/align-param-attr-error0.ll
    llvm/test/Assembler/align-param-attr-error1.ll
    llvm/test/Assembler/align-param-attr-error2.ll
    llvm/test/Assembler/align-param-attr-format.ll
    llvm/test/Assembler/anon-functions.ll
    llvm/test/Assembler/atomic.ll
    llvm/test/Assembler/atomicrmw.ll
    llvm/test/Assembler/attribute-builtin.ll
    llvm/test/Assembler/auto_upgrade_intrinsics.ll
    llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
    llvm/test/Assembler/autoupgrade-thread-pointer.ll
    llvm/test/Assembler/byref-parse-error-0.ll
    llvm/test/Assembler/byref-parse-error-1.ll
    llvm/test/Assembler/byref-parse-error-2.ll
    llvm/test/Assembler/byref-parse-error-3.ll
    llvm/test/Assembler/byref-parse-error-4.ll
    llvm/test/Assembler/byref-parse-error-5.ll
    llvm/test/Assembler/byref-parse-error-6.ll
    llvm/test/Assembler/byref-parse-error-7.ll
    llvm/test/Assembler/byval-parse-error0.ll
    llvm/test/Assembler/byval-type-attr.ll
    llvm/test/Assembler/call-arg-is-callee.ll
    llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
    llvm/test/Assembler/call-nonzero-program-addrspace.ll
    llvm/test/Assembler/cmpxchg-ordering-2.ll
    llvm/test/Assembler/cmpxchg-ordering-3.ll
    llvm/test/Assembler/cmpxchg-ordering-4.ll
    llvm/test/Assembler/cmpxchg-ordering.ll
    llvm/test/Assembler/debug-label-bitcode.ll
    llvm/test/Assembler/disubprogram-targetfuncname.ll
    llvm/test/Assembler/dll-storage-class-local-linkage.ll
    llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
    llvm/test/Assembler/drop-debug-info.ll
    llvm/test/Assembler/fast-math-flags.ll
    llvm/test/Assembler/flags.ll
    llvm/test/Assembler/function-operand-uselistorder.ll
    llvm/test/Assembler/getelementptr.ll
    llvm/test/Assembler/getelementptr_invalid_ptr.ll
    llvm/test/Assembler/getelementptr_struct.ll
    llvm/test/Assembler/getelementptr_vec_ce.ll
    llvm/test/Assembler/getelementptr_vec_ce2.ll
    llvm/test/Assembler/getelementptr_vec_idx1.ll
    llvm/test/Assembler/getelementptr_vec_idx2.ll
    llvm/test/Assembler/getelementptr_vec_idx3.ll
    llvm/test/Assembler/getelementptr_vec_idx4.ll
    llvm/test/Assembler/getelementptr_vec_struct.ll
    llvm/test/Assembler/getelementptr_vscale_struct.ll
    llvm/test/Assembler/global-addrspace-forwardref.ll
    llvm/test/Assembler/half-constprop.ll
    llvm/test/Assembler/half-conv.ll
    llvm/test/Assembler/huge-array.ll
    llvm/test/Assembler/ifunc-asm.ll
    llvm/test/Assembler/ifunc-dsolocal.ll
    llvm/test/Assembler/ifunc-use-list-order.ll
    llvm/test/Assembler/immarg-param-attribute.ll
    llvm/test/Assembler/inalloca-parse-error0.ll
    llvm/test/Assembler/insertvalue-invalid-type.ll
    llvm/test/Assembler/internal-hidden-alias.ll
    llvm/test/Assembler/internal-protected-alias.ll
    llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
    llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
    llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
    llvm/test/Assembler/invalid-byval-type2.ll
    llvm/test/Assembler/invalid-byval-type3.ll
    llvm/test/Assembler/invalid-gep-missing-explicit-type.ll
    llvm/test/Assembler/invalid-immarg.ll
    llvm/test/Assembler/invalid-landingpad.ll
    llvm/test/Assembler/invalid-load-missing-explicit-type.ll
    llvm/test/Assembler/invalid-untyped-metadata.ll
    llvm/test/Assembler/invalid-uselistorder-global-missing.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-duplicated.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-empty.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-one.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-ordered.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-range.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-toofew.ll
    llvm/test/Assembler/invalid-uselistorder-indexes-toomany.ll
    llvm/test/Assembler/invalid-uselistorder-type.ll
    llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
    llvm/test/Assembler/invalid_cast3.ll
    llvm/test/Assembler/invalid_cast4.ll
    llvm/test/Assembler/invoke-nonzero-program-addrspace.ll
    llvm/test/Assembler/local-unnamed-addr.ll
    llvm/test/Assembler/metadata-function-local.ll
    llvm/test/Assembler/metadata-use-uselistorder.ll
    llvm/test/Assembler/missing-tbaa.ll
    llvm/test/Assembler/mustprogress-parse-error-2.ll
    llvm/test/Assembler/musttail-invalid-1.ll
    llvm/test/Assembler/musttail-invalid-2.ll
    llvm/test/Assembler/musttail.ll
    llvm/test/Assembler/numbered-values.ll
    llvm/test/Assembler/opaque-ptr-intrinsic-remangling.ll
    llvm/test/Assembler/opaque-ptr-struct-types.ll
    llvm/test/Assembler/opaque-ptr.ll
    llvm/test/Assembler/private-hidden-alias.ll
    llvm/test/Assembler/private-protected-alias.ll
    llvm/test/Assembler/remangle.ll
    llvm/test/Assembler/sret-parse-error0.ll
    llvm/test/Assembler/sret-type-attr.ll
    llvm/test/Assembler/thinlto-vtable-summary.ll
    llvm/test/Assembler/unnamed-addr.ll
    llvm/test/Assembler/unnamed-alias.ll
    llvm/test/Assembler/unnamed.ll
    llvm/test/Assembler/unsized-recursive-type.ll
    llvm/test/Assembler/uselistorder.ll
    llvm/test/Assembler/uselistorder_bb.ll
    llvm/test/Assembler/uselistorder_global.ll
    llvm/test/Assembler/vector-cmp.ll
    llvm/test/Assembler/x86_intrcc.ll

Removed: 
    llvm/test/Assembler/invalid-alias-mismatched-explicit-type.ll
    llvm/test/Assembler/invalid-byval-type1.ll
    llvm/test/Assembler/invalid-fwdref1.ll
    llvm/test/Assembler/invalid-fwdref2.ll
    llvm/test/Assembler/invalid-gep-mismatched-explicit-type.ll
    llvm/test/Assembler/invalid-load-mismatched-explicit-type.ll


################################################################################
diff  --git a/llvm/test/Assembler/2002-03-08-NameCollision.ll b/llvm/test/Assembler/2002-03-08-NameCollision.ll
index 089d3fb2864b..109f195a21ad 100644
--- a/llvm/test/Assembler/2002-03-08-NameCollision.ll
+++ b/llvm/test/Assembler/2002-03-08-NameCollision.ll
@@ -11,6 +11,6 @@
 ; Fixed by delaying binding of variable names until _after_ the method symtab is
 ; created.
 ;
- at X = global i32 4		; <i32*> [#uses=0]
+ at X = global i32 4		; <ptr> [#uses=0]
 
-declare i32 @xxx(i32*)
+declare i32 @xxx(ptr)

diff  --git a/llvm/test/Assembler/2002-03-08-NameCollision2.ll b/llvm/test/Assembler/2002-03-08-NameCollision2.ll
index dc98a36e8779..b784bd56c58a 100644
--- a/llvm/test/Assembler/2002-03-08-NameCollision2.ll
+++ b/llvm/test/Assembler/2002-03-08-NameCollision2.ll
@@ -5,9 +5,9 @@
 ; declaration for a method was found, that this would cause spurious conflicts
 ; to be detected between locals and globals.
 ;
- at Var = external global i32		; <i32*> [#uses=0]
+ at Var = external global i32		; <ptr> [#uses=0]
 
 define void @foo() {
-	%Var = alloca i32		; <i32*> [#uses=0]
+	%Var = alloca i32		; <ptr> [#uses=0]
 	ret void
 }

diff  --git a/llvm/test/Assembler/2002-04-29-NameBinding.ll b/llvm/test/Assembler/2002-04-29-NameBinding.ll
index b057eaaeeb8f..20b28fb3086d 100644
--- a/llvm/test/Assembler/2002-04-29-NameBinding.ll
+++ b/llvm/test/Assembler/2002-04-29-NameBinding.ll
@@ -13,7 +13,7 @@
 
 define i32 @createtask() {
         %v1 = alloca i32                ;; Alloca should have one use! 
-        %reg112 = load i32, i32* %v1         ;; This load should not use the global!
+        %reg112 = load i32, ptr %v1         ;; This load should not use the global!
         ret i32 %reg112
 }
 

diff  --git a/llvm/test/Assembler/2002-07-14-OpaqueType.ll b/llvm/test/Assembler/2002-07-14-OpaqueType.ll
index 6256aab63e52..e69efa1b24de 100644
--- a/llvm/test/Assembler/2002-07-14-OpaqueType.ll
+++ b/llvm/test/Assembler/2002-07-14-OpaqueType.ll
@@ -5,7 +5,7 @@
 
 %Ty = type opaque
 
-define %Ty* @func() {
-	ret %Ty* null
+define ptr @func() {
+	ret ptr null
 }
  

diff  --git a/llvm/test/Assembler/2002-07-25-QuoteInString.ll b/llvm/test/Assembler/2002-07-25-QuoteInString.ll
index 154568063f60..a52de071b399 100644
--- a/llvm/test/Assembler/2002-07-25-QuoteInString.ll
+++ b/llvm/test/Assembler/2002-07-25-QuoteInString.ll
@@ -2,5 +2,5 @@
 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis
 ;
 ; RUN: verify-uselistorder %s
- at str = internal global [6 x i8] c"\22foo\22\00"         ; <[6 x i8]*> [#uses=0]
+ at str = internal global [6 x i8] c"\22foo\22\00"         ; <ptr> [#uses=0]
 

diff  --git a/llvm/test/Assembler/2002-07-25-ReturnPtrFunction.ll b/llvm/test/Assembler/2002-07-25-ReturnPtrFunction.ll
index 0fb9d55faed4..571703400883 100644
--- a/llvm/test/Assembler/2002-07-25-ReturnPtrFunction.ll
+++ b/llvm/test/Assembler/2002-07-25-ReturnPtrFunction.ll
@@ -4,10 +4,10 @@
 ; RUN: llvm-as < %s | llvm-dis | llvm-as
 ; RUN: verify-uselistorder %s
 
-declare void (i32)* @foo()
+declare ptr @foo()
 
 define void @test() {
-        call void (i32)* () @foo( )           ; <%ty*>:1 [#uses=0]
+        call ptr () @foo( )           ; <ptr>:1 [#uses=0]
         ret void
 }
 

diff  --git a/llvm/test/Assembler/2002-08-15-ConstantExprProblem.ll b/llvm/test/Assembler/2002-08-15-ConstantExprProblem.ll
index 47a3f9c96c0e..49fada5690fe 100644
--- a/llvm/test/Assembler/2002-08-15-ConstantExprProblem.ll
+++ b/llvm/test/Assembler/2002-08-15-ConstantExprProblem.ll
@@ -1,15 +1,15 @@
 ; RUN: llvm-as %s -o /dev/null
 ; RUN: verify-uselistorder %s
 
- at .LC0 = internal global [12 x i8] c"hello world\00"             ; <[12 x i8]*> [#uses=1]
+ at .LC0 = internal global [12 x i8] c"hello world\00"             ; <ptr> [#uses=1]
 
-define i8* @test() {
+define ptr @test() {
 ; <label>:0
         br label %BB1
 
 BB1:            ; preds = %BB2, %0
-        %ret = phi i8* [ getelementptr ([12 x i8], [12 x i8]* @.LC0, i64 0, i64 0), %0 ], [ null, %BB2 ]          ; <i8*> [#uses=1]
-        ret i8* %ret
+        %ret = phi ptr [ @.LC0, %0 ], [ null, %BB2 ]          ; <ptr> [#uses=1]
+        ret ptr %ret
 
 BB2:            ; No predecessors!
         br label %BB1

diff  --git a/llvm/test/Assembler/2002-08-15-UnresolvedGlobalReference.ll b/llvm/test/Assembler/2002-08-15-UnresolvedGlobalReference.ll
index cbed33229c4b..279c3ad0ba49 100644
--- a/llvm/test/Assembler/2002-08-15-UnresolvedGlobalReference.ll
+++ b/llvm/test/Assembler/2002-08-15-UnresolvedGlobalReference.ll
@@ -1,9 +1,9 @@
 ; RUN: llvm-as %s -o /dev/null
 ; RUN: verify-uselistorder %s
 
- at .LC0 = internal global [12 x i8] c"hello world\00"             ; <[12 x i8]*> [#uses=1]
+ at .LC0 = internal global [12 x i8] c"hello world\00"             ; <ptr> [#uses=1]
 
-define i8* @test() {
-        ret i8* getelementptr ([12 x i8], [12 x i8]* @.LC0, i64 0, i64 0)
+define ptr @test() {
+        ret ptr @.LC0
 }
 

diff  --git a/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll b/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
index d43fe9784055..94c22794f5bc 100644
--- a/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
+++ b/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
@@ -11,13 +11,13 @@
 ; RUN: llvm-as < %s | llvm-dis | llvm-as
 ; RUN: verify-uselistorder %s
 
- at .LC0 = internal global [4 x i8] c"foo\00"		; <[4 x i8]*> [#uses=1]
- at X = global i8* null		; <i8**> [#uses=0]
+ at .LC0 = internal global [4 x i8] c"foo\00"		; <ptr> [#uses=1]
+ at X = global ptr null		; <ptr> [#uses=0]
 
-declare i32 @puts(i8*)
+declare i32 @puts(ptr)
 
 define void @main() {
 bb1:
-	%reg211 = call i32 @puts( i8* getelementptr ([4 x i8], [4 x i8]* @.LC0, i64 0, i64 0) )		; <i32> [#uses=0]
+	%reg211 = call i32 @puts( ptr @.LC0 )		; <i32> [#uses=0]
 	ret void
 }

diff  --git a/llvm/test/Assembler/2002-08-19-BytecodeReader.ll b/llvm/test/Assembler/2002-08-19-BytecodeReader.ll
index 53ca7ebda948..93144b01af92 100644
--- a/llvm/test/Assembler/2002-08-19-BytecodeReader.ll
+++ b/llvm/test/Assembler/2002-08-19-BytecodeReader.ll
@@ -5,14 +5,14 @@
 ; RUN: verify-uselistorder %s
 	
 %CHESS_POSITION = type { i32, i32 }
- at pawn_probes = external global i32		; <i32*> [#uses=0]
- at pawn_hash_mask = external global i32		; <i32*> [#uses=0]
- at search = external global %CHESS_POSITION		; <%CHESS_POSITION*> [#uses=2]
+ at pawn_probes = external global i32		; <ptr> [#uses=0]
+ at pawn_hash_mask = external global i32		; <ptr> [#uses=0]
+ at search = external global %CHESS_POSITION		; <ptr> [#uses=2]
 
 define void @Evaluate() {
-	%reg1321 = getelementptr %CHESS_POSITION, %CHESS_POSITION* @search, i64 0, i32 1		; <i32*> [#uses=1]
-	%reg114 = load i32, i32* %reg1321		; <i32> [#uses=0]
-	%reg1801 = getelementptr %CHESS_POSITION, %CHESS_POSITION* @search, i64 0, i32 0		; <i32*> [#uses=1]
-	%reg182 = load i32, i32* %reg1801		; <i32> [#uses=0]
+	%reg1321 = getelementptr %CHESS_POSITION, ptr @search, i64 0, i32 1		; <ptr> [#uses=1]
+	%reg114 = load i32, ptr %reg1321		; <i32> [#uses=0]
+	%reg1801 = getelementptr %CHESS_POSITION, ptr @search, i64 0, i32 0		; <ptr> [#uses=1]
+	%reg182 = load i32, ptr %reg1801		; <i32> [#uses=0]
 	ret void
 }

diff  --git a/llvm/test/Assembler/2002-10-08-LargeArrayPerformance.ll b/llvm/test/Assembler/2002-10-08-LargeArrayPerformance.ll
index acd92800ae23..33311a018bd1 100644
--- a/llvm/test/Assembler/2002-10-08-LargeArrayPerformance.ll
+++ b/llvm/test/Assembler/2002-10-08-LargeArrayPerformance.ll
@@ -4,6 +4,6 @@
 ;; int foo[30000]
 ;;; We should not be soo slow for such a simple case!
 
- at foo = global [30000 x i32] zeroinitializer		; <[30000 x i32]*> [#uses=0]
+ at foo = global [30000 x i32] zeroinitializer		; <ptr> [#uses=0]
 
 declare void @__main()

diff  --git a/llvm/test/Assembler/2002-10-13-ConstantEncodingProblem.ll b/llvm/test/Assembler/2002-10-13-ConstantEncodingProblem.ll
index a0f7b3d5ad72..69b945768353 100644
--- a/llvm/test/Assembler/2002-10-13-ConstantEncodingProblem.ll
+++ b/llvm/test/Assembler/2002-10-13-ConstantEncodingProblem.ll
@@ -1,6 +1,6 @@
 ; RUN: llvm-as < %s | llvm-dis
 ; RUN: verify-uselistorder %s
 
-%Domain = type { %Domain**, %Domain* }
- at D = global %Domain zeroinitializer             ; <%Domain*> [#uses=0]
+%Domain = type { ptr, ptr }
+ at D = global %Domain zeroinitializer             ; <ptr> [#uses=0]
 

diff  --git a/llvm/test/Assembler/2002-12-15-GlobalResolve.ll b/llvm/test/Assembler/2002-12-15-GlobalResolve.ll
index 87608cca4221..3c962e7fa35f 100644
--- a/llvm/test/Assembler/2002-12-15-GlobalResolve.ll
+++ b/llvm/test/Assembler/2002-12-15-GlobalResolve.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as %s -o /dev/null
 ; RUN: verify-uselistorder %s
 
- at X = external global i32*
- at X1 = external global %T* 
- at X2 = external global i32*
+ at X = external global ptr
+ at X1 = external global ptr 
+ at X2 = external global ptr
 
 %T = type {i32}

diff  --git a/llvm/test/Assembler/2003-04-25-UnresolvedGlobalReference.ll b/llvm/test/Assembler/2003-04-25-UnresolvedGlobalReference.ll
index 61fd911d8a17..3a97353fcace 100644
--- a/llvm/test/Assembler/2003-04-25-UnresolvedGlobalReference.ll
+++ b/llvm/test/Assembler/2003-04-25-UnresolvedGlobalReference.ll
@@ -3,6 +3,6 @@
 ; There should be absolutely no problem with this testcase.
 
 define i32 @test(i32 %arg1, i32 %arg2) {
-        ret i32 ptrtoint (i32 (i32, i32)* @test to i32)
+        ret i32 ptrtoint (ptr @test to i32)
 }
 

diff  --git a/llvm/test/Assembler/2003-05-15-AssemblerProblem.ll b/llvm/test/Assembler/2003-05-15-AssemblerProblem.ll
index 70c9617ef1c0..3ac580b6ab20 100644
--- a/llvm/test/Assembler/2003-05-15-AssemblerProblem.ll
+++ b/llvm/test/Assembler/2003-05-15-AssemblerProblem.ll
@@ -4,12 +4,12 @@
 ; RUN: verify-uselistorder %s
 
 define void @test() {
-        call void (...) bitcast (void (i16*, i32)* @AddString to void (...)*)( i16* null, i32 0 )
+        call void (...) @AddString( ptr null, i32 0 )
         ret void
 }
 
-define void @AddString(i16* %tmp.124, i32 %tmp.127) {
-        call void (...) bitcast (void (i16*, i32)* @AddString to void (...)*)( i16* %tmp.124, i32 %tmp.127 )
+define void @AddString(ptr %tmp.124, i32 %tmp.127) {
+        call void (...) @AddString( ptr %tmp.124, i32 %tmp.127 )
         ret void
 }
 

diff  --git a/llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll b/llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
index 0c1bc2f726b5..8fcf53ee5a8b 100644
--- a/llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
+++ b/llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
@@ -1,10 +1,10 @@
 ; RUN: opt < %s -passes=instcombine,simplifycfg -S | not grep br
 ; RUN: verify-uselistorder %s
 
- at .str_1 = internal constant [6 x i8] c"_Bool\00"                ; <[6 x i8]*> [#uses=2]
+ at .str_1 = internal constant [6 x i8] c"_Bool\00"                ; <ptr> [#uses=2]
 
 define i32 @test() {
-        %tmp.54 = load i8, i8* getelementptr ([6 x i8], [6 x i8]* @.str_1, i64 0, i64 1)            ; <i8> [#uses=1]
+        %tmp.54 = load i8, ptr getelementptr ([6 x i8], ptr @.str_1, i64 0, i64 1)            ; <i8> [#uses=1]
         %tmp.55 = icmp ne i8 %tmp.54, 66                ; <i1> [#uses=1]
         br i1 %tmp.55, label %then.7, label %endif.7
 

diff  --git a/llvm/test/Assembler/2003-08-21-ConstantExprCast-Fold.ll b/llvm/test/Assembler/2003-08-21-ConstantExprCast-Fold.ll
index 0ab0918c81ea..de6c8933bbb5 100644
--- a/llvm/test/Assembler/2003-08-21-ConstantExprCast-Fold.ll
+++ b/llvm/test/Assembler/2003-08-21-ConstantExprCast-Fold.ll
@@ -1,5 +1,5 @@
 ; RUN: llvm-as < %s | llvm-dis | not grep getelementptr
 ; RUN: verify-uselistorder %s
 
- at A = external global { float }          ; <{ float }*> [#uses=2]
- at 0 = global i32* bitcast ({ float }* @A to i32*)             ; <i32**>:0 [#uses=0]
+ at A = external global { float }          ; <ptr> [#uses=2]
+ at 0 = global ptr @A             ; <ptr>:0 [#uses=0]

diff  --git a/llvm/test/Assembler/2003-11-05-ConstantExprShift.ll b/llvm/test/Assembler/2003-11-05-ConstantExprShift.ll
index ddfcecaff5a3..6aa58232b314 100644
--- a/llvm/test/Assembler/2003-11-05-ConstantExprShift.ll
+++ b/llvm/test/Assembler/2003-11-05-ConstantExprShift.ll
@@ -2,5 +2,5 @@
 ; RUN: verify-uselistorder %s
 
 define i32 @test() {
-        ret i32 ashr (i32 ptrtoint (i32 ()* @test to i32), i32 2)
+        ret i32 ashr (i32 ptrtoint (ptr @test to i32), i32 2)
 }

diff  --git a/llvm/test/Assembler/2003-11-12-ConstantExprCast.ll b/llvm/test/Assembler/2003-11-12-ConstantExprCast.ll
index c9ad26668af7..44e75a5bb5cd 100644
--- a/llvm/test/Assembler/2003-11-12-ConstantExprCast.ll
+++ b/llvm/test/Assembler/2003-11-12-ConstantExprCast.ll
@@ -1,11 +1,11 @@
 ; RUN: llvm-as < %s | llvm-dis | not grep " bitcast ("
 ; RUN: verify-uselistorder %s
 
- at .Base64_1 = external constant [4 x i8]         ; <[4 x i8]*> [#uses=1]
+ at .Base64_1 = external constant [4 x i8]         ; <ptr> [#uses=1]
 
 define i8 @test(i8 %Y) {
         %X = bitcast i8 %Y to i8                ; <i8> [#uses=1]
-        %tmp.13 = add i8 %X, sub (i8 0, i8 ptrtoint ([4 x i8]* @.Base64_1 to i8))     ; <i8> [#uses=1]
+        %tmp.13 = add i8 %X, sub (i8 0, i8 ptrtoint (ptr @.Base64_1 to i8))     ; <i8> [#uses=1]
         ret i8 %tmp.13
 }
 

diff  --git a/llvm/test/Assembler/2004-01-11-getelementptrfolding.ll b/llvm/test/Assembler/2004-01-11-getelementptrfolding.ll
index def8e37c1a6a..9c7f96d08706 100644
--- a/llvm/test/Assembler/2004-01-11-getelementptrfolding.ll
+++ b/llvm/test/Assembler/2004-01-11-getelementptrfolding.ll
@@ -2,12 +2,12 @@
 ; RUN:   not grep "getelementptr.*getelementptr"
 ; RUN: verify-uselistorder %s
 
-%struct.TTriangleItem = type { i8*, i8*, [3 x %struct.TUVVertex] }
+%struct.TTriangleItem = type { ptr, ptr, [3 x %struct.TUVVertex] }
 %struct.TUVVertex = type { i16, i16, i16, i16 }
- at data_triangleItems = internal constant [2908 x %struct.TTriangleItem] zeroinitializer; <[2908 x %struct.TTriangleItem]*> [#uses=2]
+ at data_triangleItems = internal constant [2908 x %struct.TTriangleItem] zeroinitializer; <ptr> [#uses=2]
 
 define void @foo() {
-        store i16 0, i16* getelementptr ([2908 x %struct.TTriangleItem], [2908 x %struct.TTriangleItem]* @data_triangleItems, i64 0, i64 0, i32 2, i64 0, i32 0)
+        store i16 0, ptr getelementptr ([2908 x %struct.TTriangleItem], ptr @data_triangleItems, i64 0, i64 0, i32 2, i64 0, i32 0)
         ret void
 }
 

diff  --git a/llvm/test/Assembler/2004-02-27-SelfUseAssertError.ll b/llvm/test/Assembler/2004-02-27-SelfUseAssertError.ll
index 252a1b2415e0..2bfbcd983ae4 100644
--- a/llvm/test/Assembler/2004-02-27-SelfUseAssertError.ll
+++ b/llvm/test/Assembler/2004-02-27-SelfUseAssertError.ll
@@ -12,7 +12,7 @@ no_exit.2:              ; preds = %endif.6
         br i1 %tmp.103, label %endif.6, label %else.0
 
 else.0:         ; preds = %no_exit.2
-        store i16 0, i16* null
+        store i16 0, ptr null
         br label %endif.6
 
 endif.6:                ; preds = %else.0, %no_exit.2

diff  --git a/llvm/test/Assembler/2004-03-07-FunctionAddressAlignment.ll b/llvm/test/Assembler/2004-03-07-FunctionAddressAlignment.ll
index 7fa0802db405..5479500f3fd9 100644
--- a/llvm/test/Assembler/2004-03-07-FunctionAddressAlignment.ll
+++ b/llvm/test/Assembler/2004-03-07-FunctionAddressAlignment.ll
@@ -4,13 +4,13 @@
 
 
 define i32 @foo() {
-	ret i32 and (i32 ptrtoint (i32()* @foo to i32), i32 1)
+	ret i32 and (i32 ptrtoint (ptr @foo to i32), i32 1)
 }
 
 define i32 @foo2() {
-	ret i32 and (i32 1, i32 ptrtoint (i32()* @foo2 to i32))
+	ret i32 and (i32 1, i32 ptrtoint (ptr @foo2 to i32))
 }
 
 define i1 @foo3() {
-	ret i1 icmp ne (i1()* @foo3, i1()* null)
+	ret i1 icmp ne (ptr @foo3, ptr null)
 }

diff  --git a/llvm/test/Assembler/2004-04-04-GetElementPtrIndexTypes.ll b/llvm/test/Assembler/2004-04-04-GetElementPtrIndexTypes.ll
index 04d59619bd88..7a7980b1f140 100644
--- a/llvm/test/Assembler/2004-04-04-GetElementPtrIndexTypes.ll
+++ b/llvm/test/Assembler/2004-04-04-GetElementPtrIndexTypes.ll
@@ -1,11 +1,11 @@
 ; RUN: llvm-as %s -o /dev/null
 ; RUN: verify-uselistorder %s
 
-define i32* @t1({ float, i32 }* %X) {
-        %W = getelementptr { float, i32 }, { float, i32 }* %X, i32 20, i32 1            ; <i32*> [#uses=0]
-        %X.upgrd.1 = getelementptr { float, i32 }, { float, i32 }* %X, i64 20, i32 1            ; <i32*> [#uses=0]
-        %Y = getelementptr { float, i32 }, { float, i32 }* %X, i64 20, i32 1            ; <i32*> [#uses=1]
-        %Z = getelementptr { float, i32 }, { float, i32 }* %X, i64 20, i32 1            ; <i32*> [#uses=0]
-        ret i32* %Y
+define ptr @t1(ptr %X) {
+        %W = getelementptr { float, i32 }, ptr %X, i32 20, i32 1            ; <ptr> [#uses=0]
+        %X.upgrd.1 = getelementptr { float, i32 }, ptr %X, i64 20, i32 1            ; <ptr> [#uses=0]
+        %Y = getelementptr { float, i32 }, ptr %X, i64 20, i32 1            ; <ptr> [#uses=1]
+        %Z = getelementptr { float, i32 }, ptr %X, i64 20, i32 1            ; <ptr> [#uses=0]
+        ret ptr %Y
 }
 

diff  --git a/llvm/test/Assembler/2004-06-07-VerifierBug.ll b/llvm/test/Assembler/2004-06-07-VerifierBug.ll
index 2fc0ae29ca7b..4ecda1e79f88 100644
--- a/llvm/test/Assembler/2004-06-07-VerifierBug.ll
+++ b/llvm/test/Assembler/2004-06-07-VerifierBug.ll
@@ -6,7 +6,7 @@ entry:
      ret void
 
 loop:           ; preds = %loop
-     %tmp.4.i9 = getelementptr i32, i32* null, i32 %tmp.5.i10             ; <i32*> [#uses=1]
-     %tmp.5.i10 = load i32, i32* %tmp.4.i9                ; <i32> [#uses=1]
+     %tmp.4.i9 = getelementptr i32, ptr null, i32 %tmp.5.i10             ; <ptr> [#uses=1]
+     %tmp.5.i10 = load i32, ptr %tmp.4.i9                ; <i32> [#uses=1]
      br label %loop
 }

diff  --git a/llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll b/llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
index a0542ee00137..5f4db4ee06ba 100644
--- a/llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
+++ b/llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
@@ -6,6 +6,6 @@
 ; %typedef.bc_struct = type opaque
 
 
-define i1 @someFunc(i32* %tmp.71.reload, %typedef.bc_struct* %n1) {
+define i1 @someFunc(ptr %tmp.71.reload, %typedef.bc_struct %n1) {
 	ret i1 true
 }

diff  --git a/llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll b/llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll
index 81196293a72d..6661087b4c93 100644
--- a/llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll
+++ b/llvm/test/Assembler/2007-01-05-Cmp-ConstExpr.ll
@@ -2,13 +2,13 @@
 ; RUN: llvm-as %s -o /dev/null
 ; RUN: verify-uselistorder %s
 
- at str = internal constant [4 x i8] c"-ga\00"             ; <[4 x i8]*> [#uses=2]
+ at str = internal constant [4 x i8] c"-ga\00"             ; <ptr> [#uses=2]
 
-define i32 @main(i32 %argc, i8** %argv) {
+define i32 @main(i32 %argc, ptr %argv) {
 entry:
-        %tmp65 = getelementptr i8*, i8** %argv, i32 1                ; <i8**> [#uses=1]
-        %tmp66 = load i8*, i8** %tmp65               ; <i8*> [#uses=0]
-        br i1 icmp ne (i32 sub (i32 ptrtoint (i8* getelementptr ([4 x i8], [4 x i8]* @str, i32 0, i64 1) to i32), i32 ptrtoint ([4 x i8]* @str to i32)), i32 1), label %exit_1, label %exit_2
+        %tmp65 = getelementptr ptr, ptr %argv, i32 1                ; <ptr> [#uses=1]
+        %tmp66 = load ptr, ptr %tmp65               ; <ptr> [#uses=0]
+        br i1 icmp ne (i32 sub (i32 ptrtoint (ptr getelementptr ([4 x i8], ptr @str, i32 0, i64 1) to i32), i32 ptrtoint (ptr @str to i32)), i32 1), label %exit_1, label %exit_2
 
 exit_1:         ; preds = %entry
         ret i32 0

diff  --git a/llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll b/llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
index aa741443d831..100466c43857 100644
--- a/llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
+++ b/llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
@@ -1,7 +1,7 @@
 ; PR1117
 ; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "invalid cast opcode for cast from"
 
-define i8* @nada(i64 %X) {
-    %result = trunc i64 %X to i8*
-    ret i8* %result
+define ptr @nada(i64 %X) {
+    %result = trunc i64 %X to ptr
+    ret ptr %result
 }

diff  --git a/llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll b/llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
index 479bef7d7a20..3e2919379de2 100644
--- a/llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
+++ b/llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
@@ -1,4 +1,4 @@
 ; PR1117
 ; RUN: not llvm-as %s -o /dev/null 2>&1 | grep "invalid cast opcode for cast from"
 
- at X = constant i8* trunc (i64 0 to i8*)
+ at X = constant ptr trunc (i64 0 to ptr)

diff  --git a/llvm/test/Assembler/2007-04-20-AlignedLoad.ll b/llvm/test/Assembler/2007-04-20-AlignedLoad.ll
index 1e8850a7073e..5709a2282032 100644
--- a/llvm/test/Assembler/2007-04-20-AlignedLoad.ll
+++ b/llvm/test/Assembler/2007-04-20-AlignedLoad.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as < %s | llvm-dis | grep "align 1024"
 ; RUN: verify-uselistorder %s
 
-define i32 @test(i32* %arg) {
+define i32 @test(ptr %arg) {
 entry:
-        %tmp2 = load i32, i32* %arg, align 1024      ; <i32> [#uses=1]
+        %tmp2 = load i32, ptr %arg, align 1024      ; <i32> [#uses=1]
         ret i32 %tmp2
 }

diff  --git a/llvm/test/Assembler/2007-04-20-AlignedStore.ll b/llvm/test/Assembler/2007-04-20-AlignedStore.ll
index 9605af23c29a..7571df3c28bd 100644
--- a/llvm/test/Assembler/2007-04-20-AlignedStore.ll
+++ b/llvm/test/Assembler/2007-04-20-AlignedStore.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as < %s | llvm-dis | grep "align 1024"
 ; RUN: verify-uselistorder %s
 
-define void @test(i32* %arg) {
+define void @test(ptr %arg) {
 entry:
-        store i32 0, i32* %arg, align 1024
+        store i32 0, ptr %arg, align 1024
         ret void
 }

diff  --git a/llvm/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll b/llvm/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll
index 7c73abc6a2b5..cf7a904b1a19 100644
--- a/llvm/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll
+++ b/llvm/test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll
@@ -2,8 +2,8 @@
 ; RUN: verify-uselistorder %s
 ; PR1358
 
-; CHECK: icmp ne (i32 (...)* @test_weak, i32 (...)* null)
- at G = global i1 icmp ne (i32 (...)* @test_weak, i32 (...)* null)
+; CHECK: icmp ne (ptr @test_weak, ptr null)
+ at G = global i1 icmp ne (ptr @test_weak, ptr null)
 
 declare extern_weak i32 @test_weak(...)
 

diff  --git a/llvm/test/Assembler/2007-05-21-Escape.ll b/llvm/test/Assembler/2007-05-21-Escape.ll
index 97162441fd81..66bad73d5130 100644
--- a/llvm/test/Assembler/2007-05-21-Escape.ll
+++ b/llvm/test/Assembler/2007-05-21-Escape.ll
@@ -5,19 +5,19 @@ target triple = "x86_64-apple-darwin8"
 	%struct.bar = type { i32 }
 	%struct.foo = type { i32 }
 
-define i32 @"Func64"(%struct.bar* %F) {
+define i32 @"Func64"(ptr %F) {
 entry:
 	ret i32 1
 }
 
-define i32 @Func64(%struct.bar* %B) {
+define i32 @Func64(ptr %B) {
 entry:
 	ret i32 0
 }
 
 define i32 @test() {
 entry:
-	%tmp = tail call i32 @"Func64"( %struct.bar* null )		; <i32> [#uses=0]
-	%tmp1 = tail call i32 @Func64( %struct.bar* null )		; <i32> [#uses=0]
+	%tmp = tail call i32 @"Func64"( ptr null )		; <i32> [#uses=0]
+	%tmp1 = tail call i32 @Func64( ptr null )		; <i32> [#uses=0]
 	ret i32 undef
 }

diff  --git a/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll b/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll
index 882569b2f24e..97d97fa709de 100644
--- a/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll
+++ b/llvm/test/Assembler/2007-09-10-AliasFwdRef.ll
@@ -2,8 +2,8 @@
 ; RUN: verify-uselistorder %s
 ; PR1645
 
- at __gthread_active_ptr.5335 = internal constant i8* bitcast (i32 (i32)* @__gthrw_pthread_cancel to i8*)    
- at __gthrw_pthread_cancel = weak alias i32 (i32), i32 (i32)* @pthread_cancel
+ at __gthread_active_ptr.5335 = internal constant ptr @__gthrw_pthread_cancel    
+ at __gthrw_pthread_cancel = weak alias i32 (i32), ptr @pthread_cancel
 
 
 

diff  --git a/llvm/test/Assembler/2007-11-26-AttributeOverload.ll b/llvm/test/Assembler/2007-11-26-AttributeOverload.ll
index ab5d514a38b6..0ec4b342de1c 100644
--- a/llvm/test/Assembler/2007-11-26-AttributeOverload.ll
+++ b/llvm/test/Assembler/2007-11-26-AttributeOverload.ll
@@ -1,4 +1,4 @@
 ; RUN: not llvm-as < %s > /dev/null 2>&1
 
-declare i32 @atoi(i8*) nounwind readonly
-declare i32 @atoi(i8*)
+declare i32 @atoi(ptr) nounwind readonly
+declare i32 @atoi(ptr)

diff  --git a/llvm/test/Assembler/2007-12-11-AddressSpaces.ll b/llvm/test/Assembler/2007-12-11-AddressSpaces.ll
index 5155c6b8188a..790afb0f8121 100644
--- a/llvm/test/Assembler/2007-12-11-AddressSpaces.ll
+++ b/llvm/test/Assembler/2007-12-11-AddressSpaces.ll
@@ -1,26 +1,26 @@
 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(33)" | count 7
 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(42)" | count 2
 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(66)" | count 2
-; RUN: llvm-as < %s | llvm-dis | grep "addrspace(11)" | count 6
-; RUN: llvm-as < %s | llvm-dis | grep "addrspace(22)" | count 5
+; RUN: llvm-as < %s | llvm-dis | grep "addrspace(11)" | count 3
+; RUN: llvm-as < %s | llvm-dis | grep "addrspace(22)" | count 4
 ; RUN: verify-uselistorder %s
 
-	%struct.mystruct = type { i32, i32 addrspace(33)*, i32, i32 addrspace(33)* }
- at input = weak addrspace(42) global %struct.mystruct zeroinitializer  		; <%struct.mystruct addrspace(42)*> [#uses=1]
- at output = addrspace(66) global %struct.mystruct zeroinitializer 		; <%struct.mystruct addrspace(66)*> [#uses=1]
- at y = external addrspace(33) global i32 addrspace(11)* addrspace(22)* 		; <i32 addrspace(11)* addrspace(22)* addrspace(33)*> [#uses=1]
+	%struct.mystruct = type { i32, ptr addrspace(33), i32, ptr addrspace(33) }
+ at input = weak addrspace(42) global %struct.mystruct zeroinitializer  		; <ptr addrspace(42)> [#uses=1]
+ at output = addrspace(66) global %struct.mystruct zeroinitializer 		; <ptr addrspace(66)> [#uses=1]
+ at y = external addrspace(33) global ptr addrspace(22) 		; <ptr addrspace(33)> [#uses=1]
 
 define void @foo() {
 entry:
-	%tmp1 = load i32 addrspace(33)*, i32 addrspace(33)* addrspace(42)* getelementptr (%struct.mystruct, %struct.mystruct addrspace(42)* @input, i32 0, i32 3), align 4		; <i32 addrspace(33)*> [#uses=1]
-	store i32 addrspace(33)* %tmp1, i32 addrspace(33)* addrspace(66)* getelementptr (%struct.mystruct, %struct.mystruct addrspace(66)* @output, i32 0, i32 1), align 4
+	%tmp1 = load ptr addrspace(33), ptr addrspace(42) getelementptr (%struct.mystruct, ptr addrspace(42) @input, i32 0, i32 3), align 4		; <ptr addrspace(33)> [#uses=1]
+	store ptr addrspace(33) %tmp1, ptr addrspace(66) getelementptr (%struct.mystruct, ptr addrspace(66) @output, i32 0, i32 1), align 4
 	ret void
 }
 
-define i32 addrspace(11)* @bar(i32 addrspace(11)* addrspace(22)* addrspace(33)* %x) {
+define ptr addrspace(11) @bar(ptr addrspace(33) %x) {
 entry:
-	%tmp1 = load i32 addrspace(11)* addrspace(22)*, i32 addrspace(11)* addrspace(22)* addrspace(33)* @y, align 4		; <i32 addrspace(11)* addrspace(22)*> [#uses=2]
-	store i32 addrspace(11)* addrspace(22)* %tmp1, i32 addrspace(11)* addrspace(22)* addrspace(33)* %x, align 4
-	%tmp5 = load i32 addrspace(11)*, i32 addrspace(11)* addrspace(22)* %tmp1, align 4		; <i32 addrspace(11)*> [#uses=1]
-	ret i32 addrspace(11)* %tmp5
+	%tmp1 = load ptr addrspace(22), ptr addrspace(33) @y, align 4		; <ptr addrspace(22)> [#uses=2]
+	store ptr addrspace(22) %tmp1, ptr addrspace(33) %x, align 4
+	%tmp5 = load ptr addrspace(11), ptr addrspace(22) %tmp1, align 4		; <ptr addrspace(11)> [#uses=1]
+	ret ptr addrspace(11) %tmp5
 }

diff  --git a/llvm/test/Assembler/2008-01-11-VarargAttrs.ll b/llvm/test/Assembler/2008-01-11-VarargAttrs.ll
index 72d02efa2125..04993eb661d1 100644
--- a/llvm/test/Assembler/2008-01-11-VarargAttrs.ll
+++ b/llvm/test/Assembler/2008-01-11-VarargAttrs.ll
@@ -6,6 +6,6 @@
 declare void @foo(...)
 
 define void @bar() {
-	call void (...) @foo(%struct* byval(%struct) null )
+	call void (...) @foo(ptr byval(%struct) null )
 	ret void
 }

diff  --git a/llvm/test/Assembler/2008-02-18-IntPointerCrash.ll b/llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
index 4a33c36d5731..a5728a18f44d 100644
--- a/llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
+++ b/llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as %s 2>&1 | grep "integer constant must have integer type"
 ; PR2060
 
-define i8* @foo() {
-       ret i8* 0
+define ptr @foo() {
+       ret ptr 0
 }

diff  --git a/llvm/test/Assembler/2009-02-01-UnnamedForwardRef.ll b/llvm/test/Assembler/2009-02-01-UnnamedForwardRef.ll
index 67ca41b9cb92..503a702fbc94 100644
--- a/llvm/test/Assembler/2009-02-01-UnnamedForwardRef.ll
+++ b/llvm/test/Assembler/2009-02-01-UnnamedForwardRef.ll
@@ -2,6 +2,6 @@
 ; RUN: verify-uselistorder %s
 ; PR3372
 
- at X = global i32* @0
+ at X = global ptr @0
 @0 = global i32 4
 

diff  --git a/llvm/test/Assembler/2009-02-28-CastOpc.ll b/llvm/test/Assembler/2009-02-28-CastOpc.ll
index e9d2308064cc..83576b5eac02 100644
--- a/llvm/test/Assembler/2009-02-28-CastOpc.ll
+++ b/llvm/test/Assembler/2009-02-28-CastOpc.ll
@@ -3,6 +3,6 @@
 
 
 define void @foo() {
-  bitcast i32* null to i32*
+  bitcast ptr null to ptr
   ret void
 }

diff  --git a/llvm/test/Assembler/2009-02-28-StripOpaqueName.ll b/llvm/test/Assembler/2009-02-28-StripOpaqueName.ll
index 8076fd3bfef6..63f8fdacb943 100644
--- a/llvm/test/Assembler/2009-02-28-StripOpaqueName.ll
+++ b/llvm/test/Assembler/2009-02-28-StripOpaqueName.ll
@@ -4,4 +4,4 @@
 ; Stripping the name from A should not break references to it.
 %A = type opaque
 @g1 = external global %A
- at g2 = global %A* @g1
+ at g2 = global ptr @g1

diff  --git a/llvm/test/Assembler/2009-03-24-ZextConstantExpr.ll b/llvm/test/Assembler/2009-03-24-ZextConstantExpr.ll
index 98bab4b19a02..796f1073a8de 100644
--- a/llvm/test/Assembler/2009-03-24-ZextConstantExpr.ll
+++ b/llvm/test/Assembler/2009-03-24-ZextConstantExpr.ll
@@ -4,7 +4,7 @@
 @gdtr = external global [0 x i8]
 
 define void @test() {
-	call zeroext i1 @paging_map(i64 zext (i32 and (i32 ptrtoint ([0 x i8]* @gdtr to i32), i32 -4096) to i64))
+	call zeroext i1 @paging_map(i64 zext (i32 and (i32 ptrtoint (ptr @gdtr to i32), i32 -4096) to i64))
 	ret void
 }
 

diff  --git a/llvm/test/Assembler/2009-07-24-ZeroArgGEP.ll b/llvm/test/Assembler/2009-07-24-ZeroArgGEP.ll
index cd8b5d9827cc..a8df77f52256 100644
--- a/llvm/test/Assembler/2009-07-24-ZeroArgGEP.ll
+++ b/llvm/test/Assembler/2009-07-24-ZeroArgGEP.ll
@@ -2,5 +2,5 @@
 ; RUN: verify-uselistorder %s
 
 @foo = global i32 0
- at bar = constant i32* getelementptr(i32, i32* @foo)
+ at bar = constant ptr getelementptr(i32, ptr @foo)
 

diff  --git a/llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll b/llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
index 3bfcea920615..6f4f9d387cb4 100644
--- a/llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
+++ b/llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
@@ -5,20 +5,20 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
 target triple = "x86_64-apple-darwin10.2"
 
 %struct.anon = type { i32, i32 }
-%struct.test = type { i64, %struct.anon, %struct.test* }
+%struct.test = type { i64, %struct.anon, ptr }
 
- at TestArrayPtr = global %struct.test* getelementptr inbounds ([10 x %struct.test], [10 x %struct.test]* @TestArray, i64 0, i64 3) ; <%struct.test**> [#uses=1]
- at TestArray = common global [10 x %struct.test] zeroinitializer, align 32 ; <[10 x %struct.test]*> [#uses=2]
+ at TestArrayPtr = global ptr getelementptr inbounds ([10 x %struct.test], ptr @TestArray, i64 0, i64 3) ; <ptr> [#uses=1]
+ at TestArray = common global [10 x %struct.test] zeroinitializer, align 32 ; <ptr> [#uses=2]
 
 define i32 @main() nounwind readonly !dbg !1 {
-  %
diff 1 = alloca i64                             ; <i64*> [#uses=2]
+  %
diff 1 = alloca i64                             ; <ptr> [#uses=2]
 ; CHECK: call void @llvm.dbg.value(metadata i64 72,
-  call void @llvm.dbg.declare(metadata i64* %
diff 1, metadata !0, metadata !DIExpression()), !dbg !DILocation(scope: !1)
-  store i64 72, i64* %
diff 1, align 8
-  %v1 = load %struct.test*, %struct.test** @TestArrayPtr, align 8 ; <%struct.test*> [#uses=1]
-  %v2 = ptrtoint %struct.test* %v1 to i64 ; <i64> [#uses=1]
-  %v3 = sub i64 %v2, ptrtoint ([10 x %struct.test]* @TestArray to i64) ; <i64> [#uses=1]
-  store i64 %v3, i64* %
diff 1, align 8
+  call void @llvm.dbg.declare(metadata ptr %
diff 1, metadata !0, metadata !DIExpression()), !dbg !DILocation(scope: !1)
+  store i64 72, ptr %
diff 1, align 8
+  %v1 = load ptr, ptr @TestArrayPtr, align 8 ; <ptr> [#uses=1]
+  %v2 = ptrtoint ptr %v1 to i64 ; <i64> [#uses=1]
+  %v3 = sub i64 %v2, ptrtoint (ptr @TestArray to i64) ; <i64> [#uses=1]
+  store i64 %v3, ptr %
diff 1, align 8
   ret i32 4, !dbg !DILocation(scope: !1)
 }
 

diff  --git a/llvm/test/Assembler/ConstantExprFold.ll b/llvm/test/Assembler/ConstantExprFold.ll
index 30c6f0433318..4eb9cd01f33b 100644
--- a/llvm/test/Assembler/ConstantExprFold.ll
+++ b/llvm/test/Assembler/ConstantExprFold.ll
@@ -8,54 +8,54 @@
 
 @A = global i64 0
 
- at add = global i64* inttoptr (i64 add (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X + 0 == X
- at sub = global i64* inttoptr (i64 sub (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X - 0 == X
- at mul = global i64* inttoptr (i64 mul (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X * 0 == 0
- at and1 = global i64* inttoptr (i64 and (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X & 0 == 0
- at and2 = global i64* inttoptr (i64 and (i64 ptrtoint (i64* @A to i64), i64 -1) to i64*) ; X & -1 == X
- at or = global i64 or (i64 ptrtoint (i64* @A to i64), i64 -1)  ; X | -1 == -1
- at xor = global i64* inttoptr (i64 xor (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X ^ 0 == X
+ at add = global ptr inttoptr (i64 add (i64 ptrtoint (ptr @A to i64), i64 0) to ptr) ; X + 0 == X
+ at sub = global ptr inttoptr (i64 sub (i64 ptrtoint (ptr @A to i64), i64 0) to ptr) ; X - 0 == X
+ at mul = global ptr inttoptr (i64 mul (i64 ptrtoint (ptr @A to i64), i64 0) to ptr) ; X * 0 == 0
+ at and1 = global ptr inttoptr (i64 and (i64 ptrtoint (ptr @A to i64), i64 0) to ptr) ; X & 0 == 0
+ at and2 = global ptr inttoptr (i64 and (i64 ptrtoint (ptr @A to i64), i64 -1) to ptr) ; X & -1 == X
+ at or = global i64 or (i64 ptrtoint (ptr @A to i64), i64 -1)  ; X | -1 == -1
+ at xor = global ptr inttoptr (i64 xor (i64 ptrtoint (ptr @A to i64), i64 0) to ptr) ; X ^ 0 == X
 
 %Ty = type { i32, i32 }
 @B = external global %Ty
 
 ; @icmp_ult1 and @icmp_ult2 will be folded by the target-dependent constant folder instead.
- at icmp_ult1 = global i1 icmp ult (i64* @A, i64* getelementptr (i64, i64* @A, i64 1))        ; true
- at icmp_slt = global i1 icmp slt (i64* @A, i64* getelementptr (i64, i64* @A, i64 0))        ; false
- at icmp_ult2 = global i1 icmp ult (i32* getelementptr (%Ty, %Ty* @B, i64 0, i32 0),
-  i32* getelementptr (%Ty, %Ty* @B, i64 0, i32 1))            ; true
-;global i1 icmp ne (i64* @A, i64* bitcast (%Ty* @B to i64*))                 ; true
+ at icmp_ult1 = global i1 icmp ult (ptr @A, ptr getelementptr (i64, ptr @A, i64 1))        ; true
+ at icmp_slt = global i1 icmp slt (ptr @A, ptr @A)        ; false
+ at icmp_ult2 = global i1 icmp ult (ptr @B,
+  ptr getelementptr (%Ty, ptr @B, i64 0, i32 1))            ; true
+;global i1 icmp ne (ptr @A, ptr @B)                 ; true
 
 ; PR2206
- at cons = weak global i32 0, align 8              ; <i32*> [#uses=1]
- at and3 = global i64 and (i64 ptrtoint (i32* @cons to i64), i64 7)
+ at cons = weak global i32 0, align 8              ; <ptr> [#uses=1]
+ at and3 = global i64 and (i64 ptrtoint (ptr @cons to i64), i64 7)
 
- at gep1 = global <2 x i8*> getelementptr(i8, <2 x i8*> undef, <2 x i64> <i64 1, i64 1>)
- at gep2 = global <2 x i8*> getelementptr({ i8 }, <2 x { i8 }*> undef, <2 x i64> <i64 1, i64 1>, <2 x i32> <i32 0, i32 0>)
- at gep3 = global <2 x i8*> getelementptr(i8, <2 x i8*> zeroinitializer, <2 x i64> <i64 0, i64 0>)
- at gep4 = global <2 x i8*> getelementptr({ i8 }, <2 x { i8 }*> zeroinitializer, <2 x i64> <i64 0, i64 0>, <2 x i32> <i32 0, i32 0>)
+ at gep1 = global <2 x ptr> getelementptr(i8, <2 x ptr> undef, <2 x i64> <i64 1, i64 1>)
+ at gep2 = global <2 x ptr> getelementptr({ i8 }, <2 x ptr> undef, <2 x i64> <i64 1, i64 1>, <2 x i32> <i32 0, i32 0>)
+ at gep3 = global <2 x ptr> getelementptr(i8, <2 x ptr> zeroinitializer, <2 x i64> <i64 0, i64 0>)
+ at gep4 = global <2 x ptr> getelementptr({ i8 }, <2 x ptr> zeroinitializer, <2 x i64> <i64 0, i64 0>, <2 x i32> <i32 0, i32 0>)
 
 
 ; Need a function to make update_test_checks.py work.
 ;.
 ; CHECK: @[[A:[a-zA-Z0-9_$"\\.-]+]] = global i64 0
-; CHECK: @[[ADD:[a-zA-Z0-9_$"\\.-]+]] = global i64* @A
-; CHECK: @[[SUB:[a-zA-Z0-9_$"\\.-]+]] = global i64* @A
-; CHECK: @[[MUL:[a-zA-Z0-9_$"\\.-]+]] = global i64* null
-; CHECK: @[[AND1:[a-zA-Z0-9_$"\\.-]+]] = global i64* null
-; CHECK: @[[AND2:[a-zA-Z0-9_$"\\.-]+]] = global i64* @A
+; CHECK: @[[ADD:[a-zA-Z0-9_$"\\.-]+]] = global ptr @A
+; CHECK: @[[SUB:[a-zA-Z0-9_$"\\.-]+]] = global ptr @A
+; CHECK: @[[MUL:[a-zA-Z0-9_$"\\.-]+]] = global ptr null
+; CHECK: @[[AND1:[a-zA-Z0-9_$"\\.-]+]] = global ptr null
+; CHECK: @[[AND2:[a-zA-Z0-9_$"\\.-]+]] = global ptr @A
 ; CHECK: @[[OR:[a-zA-Z0-9_$"\\.-]+]] = global i64 -1
-; CHECK: @[[XOR:[a-zA-Z0-9_$"\\.-]+]] = global i64* @A
+; CHECK: @[[XOR:[a-zA-Z0-9_$"\\.-]+]] = global ptr @A
 ; CHECK: @[[B:[a-zA-Z0-9_$"\\.-]+]] = external global [[TY:%.*]]
-; CHECK: @[[ICMP_ULT1:[a-zA-Z0-9_$"\\.-]+]] = global i1 icmp ugt (i64* getelementptr inbounds (i64, i64* @A, i64 1), i64* @A)
+; CHECK: @[[ICMP_ULT1:[a-zA-Z0-9_$"\\.-]+]] = global i1 icmp ugt (ptr getelementptr inbounds (i64, ptr @A, i64 1), ptr @A)
 ; CHECK: @[[ICMP_SLT:[a-zA-Z0-9_$"\\.-]+]] = global i1 false
-; CHECK: @[[ICMP_ULT2:[a-zA-Z0-9_$"\\.-]+]] = global i1 icmp ult (i32* getelementptr inbounds ([[TY:%.*]], %Ty* @B, i64 0, i32 0), i32* getelementptr inbounds ([[TY]], %Ty* @B, i64 0, i32 1))
+; CHECK: @[[ICMP_ULT2:[a-zA-Z0-9_$"\\.-]+]] = global i1 icmp ugt (ptr getelementptr inbounds ([[TY:%.*]], ptr @B, i64 0, i32 1), ptr @B)
 ; CHECK: @[[CONS:[a-zA-Z0-9_$"\\.-]+]] = weak global i32 0, align 8
 ; CHECK: @[[AND3:[a-zA-Z0-9_$"\\.-]+]] = global i64 0
-; CHECK: @[[GEP1:[a-zA-Z0-9_$"\\.-]+]] = global <2 x i8*> undef
-; CHECK: @[[GEP2:[a-zA-Z0-9_$"\\.-]+]] = global <2 x i8*> undef
-; CHECK: @[[GEP3:[a-zA-Z0-9_$"\\.-]+]] = global <2 x i8*> zeroinitializer
-; CHECK: @[[GEP4:[a-zA-Z0-9_$"\\.-]+]] = global <2 x i8*> zeroinitializer
+; CHECK: @[[GEP1:[a-zA-Z0-9_$"\\.-]+]] = global <2 x ptr> undef
+; CHECK: @[[GEP2:[a-zA-Z0-9_$"\\.-]+]] = global <2 x ptr> undef
+; CHECK: @[[GEP3:[a-zA-Z0-9_$"\\.-]+]] = global <2 x ptr> zeroinitializer
+; CHECK: @[[GEP4:[a-zA-Z0-9_$"\\.-]+]] = global <2 x ptr> zeroinitializer
 ;.
 define void @dummy() {
 ; CHECK-LABEL: @dummy(

diff  --git a/llvm/test/Assembler/ConstantExprFoldCast.ll b/llvm/test/Assembler/ConstantExprFoldCast.ll
index ed32b4167445..2e1782a4c34f 100644
--- a/llvm/test/Assembler/ConstantExprFoldCast.ll
+++ b/llvm/test/Assembler/ConstantExprFoldCast.ll
@@ -8,22 +8,22 @@
 ; CHECK: addrspacecast
 ; CHECK: addrspacecast
 
- at A = global i32* bitcast (i8* null to i32*)  ; Cast null -> fold
- at B = global i32** bitcast (i32** @A to i32**)   ; Cast to same type -> fold
+ at A = global ptr null  ; Cast null -> fold
+ at B = global ptr @A   ; Cast to same type -> fold
 @C = global i32 trunc (i64 42 to i32)        ; Integral casts
- at D = global i32* bitcast(float*  bitcast (i32* @C to float*) to i32*)  ; cast of cast ptr->ptr
- at E = global i32 ptrtoint(float* inttoptr (i8 5 to float*) to i32)  ; i32 -> ptr -> i32
+ at D = global ptr @C  ; cast of cast ptr->ptr
+ at E = global i32 ptrtoint(ptr inttoptr (i8 5 to ptr) to i32)  ; i32 -> ptr -> i32
 
 ; Test folding of binary instrs
- at F = global i32* inttoptr (i32 add (i32 5, i32 -5) to i32*)
- at G = global i32* inttoptr (i32 sub (i32 5, i32 5) to i32*)
+ at F = global ptr inttoptr (i32 add (i32 5, i32 -5) to ptr)
+ at G = global ptr inttoptr (i32 sub (i32 5, i32 5) to ptr)
 
 ; Address space cast AS0 null-> AS1 null
- at H = global i32 addrspace(1)* addrspacecast(i32* null to i32 addrspace(1)*)
+ at H = global ptr addrspace(1) addrspacecast(ptr null to ptr addrspace(1))
 
 ; Address space cast AS1 null-> AS0 null
- at I = global i32* addrspacecast(i32 addrspace(1)* null to i32*)
+ at I = global ptr addrspacecast(ptr addrspace(1) null to ptr)
 
 ; Bitcast -> GEP
 @J = external global { i32 }
- at K = global i32* bitcast ({ i32 }* @J to i32*)
+ at K = global ptr @J

diff  --git a/llvm/test/Assembler/ConstantExprNoFold.ll b/llvm/test/Assembler/ConstantExprNoFold.ll
index d91855925c89..4f08463d88d1 100644
--- a/llvm/test/Assembler/ConstantExprNoFold.ll
+++ b/llvm/test/Assembler/ConstantExprNoFold.ll
@@ -14,54 +14,54 @@ target datalayout = "p:32:32"
 ; icmp should return true. It's not valid to *dereference* in @B from a pointer
 ; based on @A, but icmp isn't a dereference.
 
-; CHECK: @C = global i1 icmp eq (i64* getelementptr inbounds (i64, i64* @A, i64 1), i64* @B)
- at C = global i1 icmp eq (i64* getelementptr inbounds (i64, i64* @A, i64 1), i64* @B)
+; CHECK: @C = global i1 icmp eq (ptr getelementptr inbounds (i64, ptr @A, i64 1), ptr @B)
+ at C = global i1 icmp eq (ptr getelementptr inbounds (i64, ptr @A, i64 1), ptr @B)
 
 ; Don't fold this completely away either. In theory this could be simplified
 ; to only use a gep on one side of the icmp though.
 
-; CHECK: @D = global i1 icmp eq (i64* getelementptr inbounds (i64, i64* @A, i64 1), i64* getelementptr inbounds (i64, i64* @B, i64 2))
- at D = global i1 icmp eq (i64* getelementptr inbounds (i64, i64* @A, i64 1), i64* getelementptr inbounds (i64, i64* @B, i64 2))
+; CHECK: @D = global i1 icmp eq (ptr getelementptr inbounds (i64, ptr @A, i64 1), ptr getelementptr inbounds (i64, ptr @B, i64 2))
+ at D = global i1 icmp eq (ptr getelementptr inbounds (i64, ptr @A, i64 1), ptr getelementptr inbounds (i64, ptr @B, i64 2))
 
-; CHECK: @E = global i64 addrspace(1)* addrspacecast (i64* @A to i64 addrspace(1)*)
- at E = global i64 addrspace(1)* addrspacecast(i64* @A to i64 addrspace(1)*)
+; CHECK: @E = global ptr addrspace(1) addrspacecast (ptr @A to ptr addrspace(1))
+ at E = global ptr addrspace(1) addrspacecast(ptr @A to ptr addrspace(1))
 
 ; Don't add an inbounds on @weak.gep, since @weak may be null.
-; CHECK: @weak.gep = global i32* getelementptr (i32, i32* @weak, i32 1)
- at weak.gep = global i32* getelementptr (i32, i32* @weak, i32 1)
+; CHECK: @weak.gep = global ptr getelementptr (i32, ptr @weak, i32 1)
+ at weak.gep = global ptr getelementptr (i32, ptr @weak, i32 1)
 @weak = extern_weak global i32
 
 ; An object with weak linkage cannot have it's identity determined at compile time.
-; CHECK: @F = global i1 icmp eq (i32* @weakany, i32* @glob)
- at F = global i1 icmp eq (i32* @weakany, i32* @glob)
+; CHECK: @F = global i1 icmp eq (ptr @weakany, ptr @glob)
+ at F = global i1 icmp eq (ptr @weakany, ptr @glob)
 @weakany = weak global i32 0
 
 ; Empty globals might end up anywhere, even on top of another global.
-; CHECK: @empty.cmp = global i1 icmp eq ([0 x i8]* @empty.1, [0 x i8]* @empty.2)
+; CHECK: @empty.cmp = global i1 icmp eq (ptr @empty.1, ptr @empty.2)
 @empty.1 = external global [0 x i8], align 1
 @empty.2 = external global [0 x i8], align 1
- at empty.cmp = global i1 icmp eq ([0 x i8]* @empty.1, [0 x i8]* @empty.2)
+ at empty.cmp = global i1 icmp eq (ptr @empty.1, ptr @empty.2)
 
 ; Two unnamed_addr globals can share an address
-; CHECK: @unnamed.cmp = global i1 icmp eq ([5 x i8]* @unnamed.1, [5 x i8]* @unnamed.2)
+; CHECK: @unnamed.cmp = global i1 icmp eq (ptr @unnamed.1, ptr @unnamed.2)
 @unnamed.1 = unnamed_addr constant [5 x i8] c"asdf\00"
 @unnamed.2 = unnamed_addr constant [5 x i8] c"asdf\00"
- at unnamed.cmp = global i1 icmp eq ([5 x i8]* @unnamed.1, [5 x i8]* @unnamed.2)
+ at unnamed.cmp = global i1 icmp eq (ptr @unnamed.1, ptr @unnamed.2)
 
 @addrspace3 = internal addrspace(3) global i32 undef
 
-; CHECK: @no.fold.addrspace.icmp.eq.gv.null = global i1 icmp eq (i32 addrspace(3)* @addrspace3, i32 addrspace(3)* null)
-; CHECK: @no.fold.addrspace.icmp.eq.null.gv = global i1 icmp eq (i32 addrspace(3)* @addrspace3, i32 addrspace(3)* null)
-; CHECK: @no.fold.addrspace.icmp.ne.gv.null = global i1 icmp ne (i32 addrspace(3)* @addrspace3, i32 addrspace(3)* null)
-; CHECK: @no.fold.addrspace.icmp.ne.null.gv = global i1 icmp ne (i32 addrspace(3)* @addrspace3, i32 addrspace(3)* null)
- at no.fold.addrspace.icmp.eq.gv.null = global i1 icmp eq (i32 addrspace(3)* @addrspace3, i32 addrspace(3)* null)
- at no.fold.addrspace.icmp.eq.null.gv = global i1 icmp eq (i32 addrspace(3)* null, i32 addrspace(3)* @addrspace3)
- at no.fold.addrspace.icmp.ne.gv.null = global i1 icmp ne (i32 addrspace(3)* @addrspace3, i32 addrspace(3)* null)
- at no.fold.addrspace.icmp.ne.null.gv = global i1 icmp ne (i32 addrspace(3)* null, i32 addrspace(3)* @addrspace3)
+; CHECK: @no.fold.addrspace.icmp.eq.gv.null = global i1 icmp eq (ptr addrspace(3) @addrspace3, ptr addrspace(3) null)
+; CHECK: @no.fold.addrspace.icmp.eq.null.gv = global i1 icmp eq (ptr addrspace(3) @addrspace3, ptr addrspace(3) null)
+; CHECK: @no.fold.addrspace.icmp.ne.gv.null = global i1 icmp ne (ptr addrspace(3) @addrspace3, ptr addrspace(3) null)
+; CHECK: @no.fold.addrspace.icmp.ne.null.gv = global i1 icmp ne (ptr addrspace(3) @addrspace3, ptr addrspace(3) null)
+ at no.fold.addrspace.icmp.eq.gv.null = global i1 icmp eq (ptr addrspace(3) @addrspace3, ptr addrspace(3) null)
+ at no.fold.addrspace.icmp.eq.null.gv = global i1 icmp eq (ptr addrspace(3) null, ptr addrspace(3) @addrspace3)
+ at no.fold.addrspace.icmp.ne.gv.null = global i1 icmp ne (ptr addrspace(3) @addrspace3, ptr addrspace(3) null)
+ at no.fold.addrspace.icmp.ne.null.gv = global i1 icmp ne (ptr addrspace(3) null, ptr addrspace(3) @addrspace3)
 
 ; Don't add an inbounds on @glob.a3, since it's not inbounds.
-; CHECK: @glob.a3 = alias i32, getelementptr (i32, i32* @glob.a2, i32 1)
+; CHECK: @glob.a3 = alias i32, getelementptr (i32, ptr @glob.a2, i32 1)
 @glob = global i32 0
- at glob.a3 = alias i32, getelementptr (i32, i32* @glob.a2, i32 1)
- at glob.a2 = alias i32, getelementptr (i32, i32* @glob.a1, i32 1)
- at glob.a1 = alias i32, i32* @glob
+ at glob.a3 = alias i32, getelementptr (i32, ptr @glob.a2, i32 1)
+ at glob.a2 = alias i32, getelementptr (i32, ptr @glob.a1, i32 1)
+ at glob.a1 = alias i32, ptr @glob

diff  --git a/llvm/test/Assembler/DIDefaultTemplateParam.ll b/llvm/test/Assembler/DIDefaultTemplateParam.ll
index d78377adfada..4ebd45a2749e 100644
--- a/llvm/test/Assembler/DIDefaultTemplateParam.ll
+++ b/llvm/test/Assembler/DIDefaultTemplateParam.ll
@@ -14,9 +14,9 @@ entry:
   %retval = alloca i32, align 4
   %f1 = alloca %class.foo, align 1
   %f2 = alloca %class.foo.0, align 1
-  store i32 0, i32* %retval, align 4
-  call void @llvm.dbg.declare(metadata %class.foo* %f1, metadata !11, metadata !DIExpression()), !dbg !16
-  call void @llvm.dbg.declare(metadata %class.foo.0* %f2, metadata !17, metadata !DIExpression()), !dbg !23
+  store i32 0, ptr %retval, align 4
+  call void @llvm.dbg.declare(metadata ptr %f1, metadata !11, metadata !DIExpression()), !dbg !16
+  call void @llvm.dbg.declare(metadata ptr %f2, metadata !17, metadata !DIExpression()), !dbg !23
   ret i32 0, !dbg !24
 }
 ; Function Attrs: nounwind readnone speculatable willreturn

diff  --git a/llvm/test/Assembler/MultipleReturnValueType.ll b/llvm/test/Assembler/MultipleReturnValueType.ll
index 5812632cf3e8..6170e0ce4fb2 100644
--- a/llvm/test/Assembler/MultipleReturnValueType.ll
+++ b/llvm/test/Assembler/MultipleReturnValueType.ll
@@ -5,10 +5,10 @@
 
 declare %struct.S_102 @f_102() nounwind
 
- at callthis = external global void ()*            ; <void ()**> [#uses=50]
+ at callthis = external global ptr            ; <ptr> [#uses=50]
 
 
 define void @foo() {
-        store void ()* bitcast (%struct.S_102 ()* @f_102 to void ()*), void ()** @callthis, align 8
+        store ptr @f_102, ptr @callthis, align 8
         ret void
 }

diff  --git a/llvm/test/Assembler/aarch64-intrinsics-attributes.ll b/llvm/test/Assembler/aarch64-intrinsics-attributes.ll
index 40e7789b4e44..0d0111216e8f 100644
--- a/llvm/test/Assembler/aarch64-intrinsics-attributes.ll
+++ b/llvm/test/Assembler/aarch64-intrinsics-attributes.ll
@@ -4,11 +4,11 @@
 
 ; Make sure some AArch64 intrinsics have the expected attributes.
 
-; CHECK: declare i64 @llvm.aarch64.ldxr.p0i64(i64*) [[NOFREE_NOUNWIND_WILLRETURN:#[0-9]+]]
-declare i64 @llvm.aarch64.ldxr.p0i64(i64*)
+; CHECK: declare i64 @llvm.aarch64.ldxr.p0(ptr) [[NOFREE_NOUNWIND_WILLRETURN:#[0-9]+]]
+declare i64 @llvm.aarch64.ldxr.p0(ptr)
 
-; CHECK: declare i32 @llvm.aarch64.stxp(i64, i64, i32*) [[NOFREE_NOUNWIND_WILLRETURN]]
-declare i32 @llvm.aarch64.stxp(i64, i64, i32*)
+; CHECK: declare i32 @llvm.aarch64.stxp(i64, i64, ptr) [[NOFREE_NOUNWIND_WILLRETURN]]
+declare i32 @llvm.aarch64.stxp(i64, i64, ptr)
 
 ; CHECK: declare i32 @llvm.aarch64.dsb(i32) [[NOFREE_NOUNWIND_WILLRETURN]]
 declare i32 @llvm.aarch64.dsb(i32)

diff  --git a/llvm/test/Assembler/addrspacecast-alias.ll b/llvm/test/Assembler/addrspacecast-alias.ll
index 32eb5b9d4868..0c5a56323f7d 100644
--- a/llvm/test/Assembler/addrspacecast-alias.ll
+++ b/llvm/test/Assembler/addrspacecast-alias.ll
@@ -4,5 +4,5 @@
 ; Test that global aliases are allowed to be constant addrspacecast
 
 @i = internal addrspace(1) global i8 42
- at ia = internal alias i8 addrspace(2)*, addrspacecast (i8 addrspace(1)* @i to i8 addrspace(2)* addrspace(3)*)
-; CHECK: @ia = internal alias i8 addrspace(2)*, addrspacecast (i8 addrspace(2)* addrspace(1)* bitcast (i8 addrspace(1)* @i to i8 addrspace(2)* addrspace(1)*) to i8 addrspace(2)* addrspace(3)*)
+ at ia = internal alias ptr addrspace(2), addrspacecast (ptr addrspace(1) @i to ptr addrspace(3))
+; CHECK: @ia = internal alias ptr addrspace(2), addrspacecast (ptr addrspace(1) @i to ptr addrspace(3))

diff  --git a/llvm/test/Assembler/aggregate-constant-values.ll b/llvm/test/Assembler/aggregate-constant-values.ll
index 9e68e0675891..3ae356b55dff 100644
--- a/llvm/test/Assembler/aggregate-constant-values.ll
+++ b/llvm/test/Assembler/aggregate-constant-values.ll
@@ -2,50 +2,50 @@
 ; RUN: verify-uselistorder %s
 
 ; CHECK: @foo
-; CHECK: store { i32, i32 } { i32 7, i32 9 }, { i32, i32 }* %x
+; CHECK: store { i32, i32 } { i32 7, i32 9 }, ptr %x
 ; CHECK: ret
-define void @foo({i32, i32}* %x) nounwind {
-  store {i32, i32}{i32 7, i32 9}, {i32, i32}* %x
+define void @foo(ptr %x) nounwind {
+  store {i32, i32}{i32 7, i32 9}, ptr %x
   ret void
 }
 
 ; CHECK: @foo_empty
-; CHECK: store {} zeroinitializer, {}* %x
+; CHECK: store {} zeroinitializer, ptr %x
 ; CHECK: ret
-define void @foo_empty({}* %x) nounwind {
-  store {}{}, {}* %x
+define void @foo_empty(ptr %x) nounwind {
+  store {}{}, ptr %x
   ret void
 }
 
 ; CHECK: @bar
-; CHECK: store [2 x i32] [i32 7, i32 9], [2 x i32]* %x
+; CHECK: store [2 x i32] [i32 7, i32 9], ptr %x
 ; CHECK: ret
-define void @bar([2 x i32]* %x) nounwind {
-  store [2 x i32][i32 7, i32 9], [2 x i32]* %x
+define void @bar(ptr %x) nounwind {
+  store [2 x i32][i32 7, i32 9], ptr %x
   ret void
 }
 
 ; CHECK: @bar_empty
-; CHECK: store [0 x i32] undef, [0 x i32]* %x
+; CHECK: store [0 x i32] undef, ptr %x
 ; CHECK: ret
-define void @bar_empty([0 x i32]* %x) nounwind {
-  store [0 x i32][], [0 x i32]* %x
+define void @bar_empty(ptr %x) nounwind {
+  store [0 x i32][], ptr %x
   ret void
 }
 
 ; CHECK: @qux
-; CHECK: store <{ i32, i32 }> <{ i32 7, i32 9 }>, <{ i32, i32 }>* %x
+; CHECK: store <{ i32, i32 }> <{ i32 7, i32 9 }>, ptr %x
 ; CHECK: ret
-define void @qux(<{i32, i32}>* %x) nounwind {
-  store <{i32, i32}><{i32 7, i32 9}>, <{i32, i32}>* %x
+define void @qux(ptr %x) nounwind {
+  store <{i32, i32}><{i32 7, i32 9}>, ptr %x
   ret void
 }
 
 ; CHECK: @qux_empty
-; CHECK: store <{}> zeroinitializer, <{}>* %x
+; CHECK: store <{}> zeroinitializer, ptr %x
 ; CHECK: ret
-define void @qux_empty(<{}>* %x) nounwind {
-  store <{}><{}>, <{}>* %x
+define void @qux_empty(ptr %x) nounwind {
+  store <{}><{}>, ptr %x
   ret void
 }
 

diff  --git a/llvm/test/Assembler/alias-redefinition.ll b/llvm/test/Assembler/alias-redefinition.ll
index 3c36c81d8138..69eb9c9b4c1b 100644
--- a/llvm/test/Assembler/alias-redefinition.ll
+++ b/llvm/test/Assembler/alias-redefinition.ll
@@ -3,5 +3,5 @@
 ; CHECK: error: redefinition of global '@bar'
 
 @foo = global i32 0
- at bar = alias i32, i32* @foo
- at bar = alias i32, i32* @foo
+ at bar = alias i32, ptr @foo
+ at bar = alias i32, ptr @foo

diff  --git a/llvm/test/Assembler/alias-use-list-order.ll b/llvm/test/Assembler/alias-use-list-order.ll
index 7e72e450a750..a345dde1c79a 100644
--- a/llvm/test/Assembler/alias-use-list-order.ll
+++ b/llvm/test/Assembler/alias-use-list-order.ll
@@ -2,10 +2,10 @@
 
 ; Globals.
 @global = global i32 0
- at alias.ref1 = global i32* getelementptr inbounds (i32, i32* @alias, i64 1)
- at alias.ref2 = global i32* getelementptr inbounds (i32, i32* @alias, i64 1)
+ at alias.ref1 = global ptr getelementptr inbounds (i32, ptr @alias, i64 1)
+ at alias.ref2 = global ptr getelementptr inbounds (i32, ptr @alias, i64 1)
 
 ; Aliases.
- at alias = alias i32, i32* @global
- at alias.ref3 = alias i32, getelementptr inbounds (i32, i32* @alias, i64 1)
- at alias.ref4 = alias i32, getelementptr inbounds (i32, i32* @alias, i64 1)
+ at alias = alias i32, ptr @global
+ at alias.ref3 = alias i32, getelementptr inbounds (i32, ptr @alias, i64 1)
+ at alias.ref4 = alias i32, getelementptr inbounds (i32, ptr @alias, i64 1)

diff  --git a/llvm/test/Assembler/align-inst-load.ll b/llvm/test/Assembler/align-inst-load.ll
index fcd6a78d1b9d..c057e547b102 100644
--- a/llvm/test/Assembler/align-inst-load.ll
+++ b/llvm/test/Assembler/align-inst-load.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as %s -o /dev/null 2>/dev/null
 
-define void @foo(i1* %p) {
-  load i1, i1* %p, align 8589934592
+define void @foo(ptr %p) {
+  load i1, ptr %p, align 8589934592
   ret void
 }

diff  --git a/llvm/test/Assembler/align-inst-store.ll b/llvm/test/Assembler/align-inst-store.ll
index f39fac2d989a..e715485a4ade 100644
--- a/llvm/test/Assembler/align-inst-store.ll
+++ b/llvm/test/Assembler/align-inst-store.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as %s -o /dev/null 2>/dev/null
 
-define void @foo(i1* %p) {
-  store i1 false, i1* %p, align 8589934592
+define void @foo(ptr %p) {
+  store i1 false, ptr %p, align 8589934592
   ret void
 }

diff  --git a/llvm/test/Assembler/align-inst.ll b/llvm/test/Assembler/align-inst.ll
index ba81e319cfd7..9bb08c55fcc8 100644
--- a/llvm/test/Assembler/align-inst.ll
+++ b/llvm/test/Assembler/align-inst.ll
@@ -5,7 +5,7 @@
 
 define void @foo() {
   %p = alloca i1, align 4294967296
-  load i1, i1* %p, align 4294967296
-  store i1 false, i1* %p, align 4294967296
+  load i1, ptr %p, align 4294967296
+  store i1 false, ptr %p, align 4294967296
   ret void
 }

diff  --git a/llvm/test/Assembler/align-param-attr-error0.ll b/llvm/test/Assembler/align-param-attr-error0.ll
index 7760c014998b..9d2d59f99712 100644
--- a/llvm/test/Assembler/align-param-attr-error0.ll
+++ b/llvm/test/Assembler/align-param-attr-error0.ll
@@ -2,6 +2,6 @@
 ; Test parse errors when using form of align attribute with parentheses
 
 ; CHECK:  <stdin>:[[@LINE+1]]:38: error: expected ')'
-define void @missing_rparen(i8* align(4 %ptr) {
+define void @missing_rparen(ptr align(4 %ptr) {
   ret void
 }

diff  --git a/llvm/test/Assembler/align-param-attr-error1.ll b/llvm/test/Assembler/align-param-attr-error1.ll
index 465fb2bfc629..dc6c19c04074 100644
--- a/llvm/test/Assembler/align-param-attr-error1.ll
+++ b/llvm/test/Assembler/align-param-attr-error1.ll
@@ -2,6 +2,6 @@
 ; Test parse errors when using form of align attribute with parentheses
 
 ; CHECK:  <stdin>:[[@LINE+1]]:42: error: expected '{' in function body
-define void @missing_Lparen(i8* align 4) %ptr) {
+define void @missing_Lparen(ptr align 4) %ptr) {
   ret void
 }

diff  --git a/llvm/test/Assembler/align-param-attr-error2.ll b/llvm/test/Assembler/align-param-attr-error2.ll
index 7bfcd614a740..dd00e7fd9e6c 100644
--- a/llvm/test/Assembler/align-param-attr-error2.ll
+++ b/llvm/test/Assembler/align-param-attr-error2.ll
@@ -2,6 +2,6 @@
 ; Test parse errors when using form of align attribute with parentheses
 
 ; CHECK:  <stdin>:[[@LINE+1]]:39: error: expected integer
-define void @missing_value(i8* align () %ptr) {
+define void @missing_value(ptr align () %ptr) {
   ret void
 }

diff  --git a/llvm/test/Assembler/align-param-attr-format.ll b/llvm/test/Assembler/align-param-attr-format.ll
index 91ec0c6f006c..cc36c0f86692 100644
--- a/llvm/test/Assembler/align-param-attr-format.ll
+++ b/llvm/test/Assembler/align-param-attr-format.ll
@@ -2,12 +2,12 @@
 
 ; Test that align(N) is accepted as an alternative syntax to align N
 
-; CHECK: define void @param_align4(i8* align 4 %ptr) {
-define void @param_align4(i8* align(4) %ptr) {
+; CHECK: define void @param_align4(ptr align 4 %ptr) {
+define void @param_align4(ptr align(4) %ptr) {
   ret void
 }
 
-; CHECK: define void @param_align128(i8* align 128 %0) {
-define void @param_align128(i8* align(128)) {
+; CHECK: define void @param_align128(ptr align 128 %0) {
+define void @param_align128(ptr align(128)) {
   ret void
 }

diff  --git a/llvm/test/Assembler/anon-functions.ll b/llvm/test/Assembler/anon-functions.ll
index 2352a00f57d2..3d0ce5b9e21c 100644
--- a/llvm/test/Assembler/anon-functions.ll
+++ b/llvm/test/Assembler/anon-functions.ll
@@ -5,13 +5,13 @@
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
 target triple = "x86_64-unknown-linux-gnu"
 
- at f = alias void (), void ()* @0		; <void ()*> [#uses=0]
- at g = alias void (), void ()* @1		; <void ()*> [#uses=0]
- at h = external global void ()* 		; <void ()*> [#uses=0]
+ at f = alias void (), ptr @0		; <ptr> [#uses=0]
+ at g = alias void (), ptr @1		; <ptr> [#uses=0]
+ at h = external global ptr 		; <ptr> [#uses=0]
 
 define internal void @0() nounwind {
 entry:
-  store void()* @0, void()** @h
+  store ptr @0, ptr @h
 	br label %return
 
 return:		; preds = %entry

diff  --git a/llvm/test/Assembler/atomic.ll b/llvm/test/Assembler/atomic.ll
index d9df167d99b5..c352acbe421a 100644
--- a/llvm/test/Assembler/atomic.ll
+++ b/llvm/test/Assembler/atomic.ll
@@ -2,35 +2,35 @@
 ; RUN: verify-uselistorder %s
 ; Basic smoke test for atomic operations.
 
-define void @f(i32* %x) {
-  ; CHECK: load atomic i32, i32* %x unordered, align 4
-  load atomic i32, i32* %x unordered, align 4
-  ; CHECK: load atomic volatile i32, i32* %x syncscope("singlethread") acquire, align 4
-  load atomic volatile i32, i32* %x syncscope("singlethread") acquire, align 4
-  ; CHECK: load atomic volatile i32, i32* %x syncscope("agent") acquire, align 4
-  load atomic volatile i32, i32* %x syncscope("agent") acquire, align 4
-  ; CHECK: store atomic i32 3, i32* %x release, align 4
-  store atomic i32 3, i32* %x release, align 4
-  ; CHECK: store atomic volatile i32 3, i32* %x syncscope("singlethread") monotonic, align 4
-  store atomic volatile i32 3, i32* %x syncscope("singlethread") monotonic, align 4
-  ; CHECK: store atomic volatile i32 3, i32* %x syncscope("workgroup") monotonic, align 4
-  store atomic volatile i32 3, i32* %x syncscope("workgroup") monotonic, align 4
-  ; CHECK: cmpxchg i32* %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
-  cmpxchg i32* %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
-  ; CHECK: cmpxchg i32* %x, i32 1, i32 0 syncscope("workitem") monotonic monotonic
-  cmpxchg i32* %x, i32 1, i32 0 syncscope("workitem") monotonic monotonic
-  ; CHECK: cmpxchg volatile i32* %x, i32 0, i32 1 acq_rel acquire
-  cmpxchg volatile i32* %x, i32 0, i32 1 acq_rel acquire
-  ; CHECK: cmpxchg i32* %x, i32 42, i32 0 acq_rel monotonic
-  cmpxchg i32* %x, i32 42, i32 0 acq_rel monotonic
-  ; CHECK: cmpxchg weak i32* %x, i32 13, i32 0 seq_cst monotonic
-  cmpxchg weak i32* %x, i32 13, i32 0 seq_cst monotonic
-  ; CHECK: atomicrmw add i32* %x, i32 10 seq_cst
-  atomicrmw add i32* %x, i32 10 seq_cst
-  ; CHECK: atomicrmw volatile xchg  i32* %x, i32 10 monotonic
-  atomicrmw volatile xchg i32* %x, i32 10 monotonic
-  ; CHECK: atomicrmw volatile xchg  i32* %x, i32 10 syncscope("agent") monotonic
-  atomicrmw volatile xchg i32* %x, i32 10 syncscope("agent") monotonic
+define void @f(ptr %x) {
+  ; CHECK: load atomic i32, ptr %x unordered, align 4
+  load atomic i32, ptr %x unordered, align 4
+  ; CHECK: load atomic volatile i32, ptr %x syncscope("singlethread") acquire, align 4
+  load atomic volatile i32, ptr %x syncscope("singlethread") acquire, align 4
+  ; CHECK: load atomic volatile i32, ptr %x syncscope("agent") acquire, align 4
+  load atomic volatile i32, ptr %x syncscope("agent") acquire, align 4
+  ; CHECK: store atomic i32 3, ptr %x release, align 4
+  store atomic i32 3, ptr %x release, align 4
+  ; CHECK: store atomic volatile i32 3, ptr %x syncscope("singlethread") monotonic, align 4
+  store atomic volatile i32 3, ptr %x syncscope("singlethread") monotonic, align 4
+  ; CHECK: store atomic volatile i32 3, ptr %x syncscope("workgroup") monotonic, align 4
+  store atomic volatile i32 3, ptr %x syncscope("workgroup") monotonic, align 4
+  ; CHECK: cmpxchg ptr %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
+  cmpxchg ptr %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
+  ; CHECK: cmpxchg ptr %x, i32 1, i32 0 syncscope("workitem") monotonic monotonic
+  cmpxchg ptr %x, i32 1, i32 0 syncscope("workitem") monotonic monotonic
+  ; CHECK: cmpxchg volatile ptr %x, i32 0, i32 1 acq_rel acquire
+  cmpxchg volatile ptr %x, i32 0, i32 1 acq_rel acquire
+  ; CHECK: cmpxchg ptr %x, i32 42, i32 0 acq_rel monotonic
+  cmpxchg ptr %x, i32 42, i32 0 acq_rel monotonic
+  ; CHECK: cmpxchg weak ptr %x, i32 13, i32 0 seq_cst monotonic
+  cmpxchg weak ptr %x, i32 13, i32 0 seq_cst monotonic
+  ; CHECK: atomicrmw add ptr %x, i32 10 seq_cst
+  atomicrmw add ptr %x, i32 10 seq_cst
+  ; CHECK: atomicrmw volatile xchg  ptr %x, i32 10 monotonic
+  atomicrmw volatile xchg ptr %x, i32 10 monotonic
+  ; CHECK: atomicrmw volatile xchg  ptr %x, i32 10 syncscope("agent") monotonic
+  atomicrmw volatile xchg ptr %x, i32 10 syncscope("agent") monotonic
   ; CHECK: fence syncscope("singlethread") release
   fence syncscope("singlethread") release
   ; CHECK: fence seq_cst
@@ -40,24 +40,24 @@ define void @f(i32* %x) {
   ret void
 }
 
-define void @fp_atomics(float* %x) {
- ; CHECK: atomicrmw fadd float* %x, float 1.000000e+00 seq_cst
-  atomicrmw fadd float* %x, float 1.0 seq_cst
+define void @fp_atomics(ptr %x) {
+ ; CHECK: atomicrmw fadd ptr %x, float 1.000000e+00 seq_cst
+  atomicrmw fadd ptr %x, float 1.0 seq_cst
 
-  ; CHECK: atomicrmw volatile fadd float* %x, float 1.000000e+00 seq_cst
-  atomicrmw volatile fadd float* %x, float 1.0 seq_cst
+  ; CHECK: atomicrmw volatile fadd ptr %x, float 1.000000e+00 seq_cst
+  atomicrmw volatile fadd ptr %x, float 1.0 seq_cst
 
-  ; CHECK: atomicrmw fmax float* %x, float 1.000000e+00 seq_cst
-  atomicrmw fmax float* %x, float 1.0 seq_cst
+  ; CHECK: atomicrmw fmax ptr %x, float 1.000000e+00 seq_cst
+  atomicrmw fmax ptr %x, float 1.0 seq_cst
 
-  ; CHECK: atomicrmw volatile fmax float* %x, float 1.000000e+00 seq_cst
-  atomicrmw volatile fmax float* %x, float 1.0 seq_cst
+  ; CHECK: atomicrmw volatile fmax ptr %x, float 1.000000e+00 seq_cst
+  atomicrmw volatile fmax ptr %x, float 1.0 seq_cst
 
-  ; CHECK: atomicrmw fmin float* %x, float 1.000000e+00 seq_cst
-  atomicrmw fmin float* %x, float 1.0 seq_cst
+  ; CHECK: atomicrmw fmin ptr %x, float 1.000000e+00 seq_cst
+  atomicrmw fmin ptr %x, float 1.0 seq_cst
 
-  ; CHECK: atomicrmw volatile fmin float* %x, float 1.000000e+00 seq_cst
-  atomicrmw volatile fmin float* %x, float 1.0 seq_cst
+  ; CHECK: atomicrmw volatile fmin ptr %x, float 1.000000e+00 seq_cst
+  atomicrmw volatile fmin ptr %x, float 1.0 seq_cst
 
   ret void
 }

diff  --git a/llvm/test/Assembler/atomicrmw.ll b/llvm/test/Assembler/atomicrmw.ll
index fcf63e8b1119..8c043c76ff03 100644
--- a/llvm/test/Assembler/atomicrmw.ll
+++ b/llvm/test/Assembler/atomicrmw.ll
@@ -9,7 +9,7 @@ define void @f() {
     br label %def
 
   use:
-    %x = atomicrmw add i32* undef, i32 %y monotonic
+    %x = atomicrmw add ptr undef, i32 %y monotonic
     ret void
 
   def:

diff  --git a/llvm/test/Assembler/attribute-builtin.ll b/llvm/test/Assembler/attribute-builtin.ll
index 01c8a6bd8653..dddb3d726aa6 100644
--- a/llvm/test/Assembler/attribute-builtin.ll
+++ b/llvm/test/Assembler/attribute-builtin.ll
@@ -10,15 +10,15 @@
 ; RUN: llvm-dis | \
 ; RUN: FileCheck -check-prefix=CHECK-ASSEMBLES %s
 
-; CHECK-ASSEMBLES: declare i8* @foo(i8*) [[NOBUILTIN:#[0-9]+]]
-; CHECK-ASSEMBLES: call i8* @foo(i8* %x) [[BUILTIN:#[0-9]+]]
+; CHECK-ASSEMBLES: declare ptr @foo(ptr) [[NOBUILTIN:#[0-9]+]]
+; CHECK-ASSEMBLES: call ptr @foo(ptr %x) [[BUILTIN:#[0-9]+]]
 ; CHECK-ASSEMBLES: attributes [[NOBUILTIN]] = { nobuiltin }
 ; CHECK-ASSEMBLES: attributes [[BUILTIN]] = { builtin }
 
-declare i8* @foo(i8*) #1
-define i8* @bar(i8* %x) {
-  %y = call i8* @foo(i8* %x) #0
-  ret i8* %y
+declare ptr @foo(ptr) #1
+define ptr @bar(ptr %x) {
+  %y = call ptr @foo(ptr %x) #0
+  ret ptr %y
 }
 
 ; Make sure that we do not accept the 'builtin' attribute on function
@@ -29,22 +29,22 @@ define i8* @bar(i8* %x) {
 ; RUN: not llvm-as <%s 2>&1  | FileCheck -check-prefix=CHECK-BAD %s
 
 ; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.
-; CHECK-BAD-NEXT: i8* (i8*)* @car
+; CHECK-BAD-NEXT: ptr @car
 ; CHECK-BAD: Attribute 'builtin' can only be applied to a callsite.
-; CHECK-BAD-NEXT: i8* (i8*)* @mar
+; CHECK-BAD-NEXT: ptr @mar
 
-declare i8* @lar(i8*)
+declare ptr @lar(ptr)
 
-define i8* @har(i8* %x) {
-  %y = call i8* @lar(i8* %x) #0
-  ret i8* %y
+define ptr @har(ptr %x) {
+  %y = call ptr @lar(ptr %x) #0
+  ret ptr %y
 }
 
-define i8* @car(i8* %x) #0 {
-  ret i8* %x
+define ptr @car(ptr %x) #0 {
+  ret ptr %x
 }
 
-declare i8* @mar(i8*) #0
+declare ptr @mar(ptr) #0
 
 attributes #0 = { builtin }
 attributes #1 = { nobuiltin }

diff  --git a/llvm/test/Assembler/auto_upgrade_intrinsics.ll b/llvm/test/Assembler/auto_upgrade_intrinsics.ll
index 914de9a77fe3..acca39e31403 100644
--- a/llvm/test/Assembler/auto_upgrade_intrinsics.ll
+++ b/llvm/test/Assembler/auto_upgrade_intrinsics.ll
@@ -50,172 +50,168 @@ entry:
 
 @a = private global [60 x i8] zeroinitializer, align 1
 
-declare i32 @llvm.objectsize.i32(i8*, i1) nounwind readonly
+declare i32 @llvm.objectsize.i32(ptr, i1) nounwind readonly
 define i32 @test.objectsize() {
 ; CHECK-LABEL: @test.objectsize(
-; CHECK: @llvm.objectsize.i32.p0i8(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @a, i32 0, i32 0), i1 false, i1 false, i1 false)
-  %s = call i32 @llvm.objectsize.i32(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @a, i32 0, i32 0), i1 false)
+; CHECK: @llvm.objectsize.i32.p0(ptr @a, i1 false, i1 false, i1 false)
+  %s = call i32 @llvm.objectsize.i32(ptr @a, i1 false)
   ret i32 %s
 }
 
-declare i64 @llvm.objectsize.i64.p0i8(i8*, i1) nounwind readonly
+declare i64 @llvm.objectsize.i64.p0(ptr, i1) nounwind readonly
 define i64 @test.objectsize.2() {
 ; CHECK-LABEL: @test.objectsize.2(
-; CHECK: @llvm.objectsize.i64.p0i8(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @a, i32 0, i32 0), i1 false, i1 false, i1 false)
-  %s = call i64 @llvm.objectsize.i64.p0i8(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @a, i32 0, i32 0), i1 false)
+; CHECK: @llvm.objectsize.i64.p0(ptr @a, i1 false, i1 false, i1 false)
+  %s = call i64 @llvm.objectsize.i64.p0(ptr @a, i1 false)
   ret i64 %s
 }
 
- at u = private global [60 x %0*] zeroinitializer, align 1
+ at u = private global [60 x ptr] zeroinitializer, align 1
 
-declare i32 @llvm.objectsize.i32.unnamed(%0**, i1) nounwind readonly
+declare i32 @llvm.objectsize.i32.unnamed(ptr, i1) nounwind readonly
 define i32 @test.objectsize.unnamed() {
 ; CHECK-LABEL: @test.objectsize.unnamed(
-; CHECK: @llvm.objectsize.i32.p0p0s_s.0(%0** getelementptr inbounds ([60 x %0*], [60 x %0*]* @u, i32 0, i32 0), i1 false, i1 false, i1 false)
-  %s = call i32 @llvm.objectsize.i32.unnamed(%0** getelementptr inbounds ([60 x %0*], [60 x %0*]* @u, i32 0, i32 0), i1 false)
+; CHECK: @llvm.objectsize.i32.p0(ptr @u, i1 false, i1 false, i1 false)
+  %s = call i32 @llvm.objectsize.i32.unnamed(ptr @u, i1 false)
   ret i32 %s
 }
 
-declare i64 @llvm.objectsize.i64.p0p0s_s.0(%0**, i1) nounwind readonly
 define i64 @test.objectsize.unnamed.2() {
 ; CHECK-LABEL: @test.objectsize.unnamed.2(
-; CHECK: @llvm.objectsize.i64.p0p0s_s.0(%0** getelementptr inbounds ([60 x %0*], [60 x %0*]* @u, i32 0, i32 0), i1 false, i1 false, i1 false)
-  %s = call i64 @llvm.objectsize.i64.p0p0s_s.0(%0** getelementptr inbounds ([60 x %0*], [60 x %0*]* @u, i32 0, i32 0), i1 false)
+; CHECK: @llvm.objectsize.i64.p0(ptr @u, i1 false, i1 false, i1 false)
+  %s = call i64 @llvm.objectsize.i64.p0(ptr @u, i1 false)
   ret i64 %s
 }
 
-declare <2 x double> @llvm.masked.load.v2f64(<2 x double>* %ptrs, i32, <2 x i1> %mask, <2 x double> %src0)
+declare <2 x double> @llvm.masked.load.v2f64(ptr %ptrs, i32, <2 x i1> %mask, <2 x double> %src0)
 
-define <2 x double> @tests.masked.load(<2 x double>* %ptr, <2 x i1> %mask, <2 x double> %passthru)  {
+define <2 x double> @tests.masked.load(ptr %ptr, <2 x i1> %mask, <2 x double> %passthru)  {
 ; CHECK-LABEL: @tests.masked.load(
-; CHECK: @llvm.masked.load.v2f64.p0v2f64
-  %res = call <2 x double> @llvm.masked.load.v2f64(<2 x double>* %ptr, i32 1, <2 x i1> %mask, <2 x double> %passthru)
+; CHECK: @llvm.masked.load.v2f64.p0
+  %res = call <2 x double> @llvm.masked.load.v2f64(ptr %ptr, i32 1, <2 x i1> %mask, <2 x double> %passthru)
   ret <2 x double> %res
 }
 
-declare void @llvm.masked.store.v2f64(<2 x double> %val, <2 x double>* %ptrs, i32, <2 x i1> %mask)
+declare void @llvm.masked.store.v2f64(<2 x double> %val, ptr %ptrs, i32, <2 x i1> %mask)
 
-define void @tests.masked.store(<2 x double>* %ptr, <2 x i1> %mask, <2 x double> %val)  {
+define void @tests.masked.store(ptr %ptr, <2 x i1> %mask, <2 x double> %val)  {
 ; CHECK-LABEL: @tests.masked.store(
-; CHECK: @llvm.masked.store.v2f64.p0v2f64
-  call void @llvm.masked.store.v2f64(<2 x double> %val, <2 x double>* %ptr, i32 4, <2 x i1> %mask)
+; CHECK: @llvm.masked.store.v2f64.p0
+  call void @llvm.masked.store.v2f64(<2 x double> %val, ptr %ptr, i32 4, <2 x i1> %mask)
   ret void
 }
 
-declare <2 x double> @llvm.masked.gather.v2f64(<2 x double*> %ptrs, i32, <2 x i1> %mask, <2 x double> %src0)
+declare <2 x double> @llvm.masked.gather.v2f64(<2 x ptr> %ptrs, i32, <2 x i1> %mask, <2 x double> %src0)
 
-define <2 x double> @tests.masked.gather(<2 x double*> %ptr, <2 x i1> %mask, <2 x double> %passthru)  {
+define <2 x double> @tests.masked.gather(<2 x ptr> %ptr, <2 x i1> %mask, <2 x double> %passthru)  {
 ; CHECK-LABEL: @tests.masked.gather(
-; CHECK: @llvm.masked.gather.v2f64.v2p0f64
-  %res = call <2 x double> @llvm.masked.gather.v2f64(<2 x double*> %ptr, i32 1, <2 x i1> %mask, <2 x double> %passthru)
+; CHECK: @llvm.masked.gather.v2f64.v2p0
+  %res = call <2 x double> @llvm.masked.gather.v2f64(<2 x ptr> %ptr, i32 1, <2 x i1> %mask, <2 x double> %passthru)
   ret <2 x double> %res
 }
 
-declare void @llvm.masked.scatter.v2f64(<2 x double> %val, <2 x double*> %ptrs, i32, <2 x i1> %mask)
+declare void @llvm.masked.scatter.v2f64(<2 x double> %val, <2 x ptr> %ptrs, i32, <2 x i1> %mask)
 
-define void @tests.masked.scatter(<2 x double*> %ptr, <2 x i1> %mask, <2 x double> %val)  {
+define void @tests.masked.scatter(<2 x ptr> %ptr, <2 x i1> %mask, <2 x double> %val)  {
 ; CHECK-LABEL: @tests.masked.scatter(
-; CHECK: @llvm.masked.scatter.v2f64.v2p0f64
-  call void @llvm.masked.scatter.v2f64(<2 x double> %val, <2 x double*> %ptr, i32 1, <2 x i1> %mask)
+; CHECK: @llvm.masked.scatter.v2f64.v2p0
+  call void @llvm.masked.scatter.v2f64(<2 x double> %val, <2 x ptr> %ptr, i32 1, <2 x i1> %mask)
   ret void
 }
 
-declare {}* @llvm.invariant.start(i64, i8* nocapture) nounwind readonly
-declare void @llvm.invariant.end({}*, i64, i8* nocapture) nounwind
+declare ptr @llvm.invariant.start(i64, ptr nocapture) nounwind readonly
+declare void @llvm.invariant.end(ptr, i64, ptr nocapture) nounwind
 
 define void @tests.invariant.start.end() {
   ; CHECK-LABEL: @tests.invariant.start.end(
   %a = alloca i8
-  %i = call {}* @llvm.invariant.start(i64 1, i8* %a)
-  ; CHECK: call {}* @llvm.invariant.start.p0i8
-  store i8 0, i8* %a
-  call void @llvm.invariant.end({}* %i, i64 1, i8* %a)
-  ; CHECK: call void @llvm.invariant.end.p0i8
+  %i = call ptr @llvm.invariant.start(i64 1, ptr %a)
+  ; CHECK: call ptr @llvm.invariant.start.p0
+  store i8 0, ptr %a
+  call void @llvm.invariant.end(ptr %i, i64 1, ptr %a)
+  ; CHECK: call void @llvm.invariant.end.p0
   ret void
 }
 
-declare {}* @llvm.invariant.start.unnamed(i64, %0** nocapture) nounwind readonly
-declare void @llvm.invariant.end.unnamed({}*, i64, %0** nocapture) nounwind
+declare ptr @llvm.invariant.start.unnamed(i64, ptr nocapture) nounwind readonly
+declare void @llvm.invariant.end.unnamed(ptr, i64, ptr nocapture) nounwind
 
 define void @tests.invariant.start.end.unnamed() {
   ; CHECK-LABEL: @tests.invariant.start.end.unnamed(
-  %a = alloca %0*
-  %i = call {}* @llvm.invariant.start.unnamed(i64 1, %0** %a)
-  ; CHECK: call {}* @llvm.invariant.start.p0p0s_s.0
-  store %0* null, %0** %a
-  call void @llvm.invariant.end.unnamed({}* %i, i64 1, %0** %a)
-  ; CHECK: call void @llvm.invariant.end.p0p0s_s.0
+  %a = alloca ptr
+  %i = call ptr @llvm.invariant.start.unnamed(i64 1, ptr %a)
+  ; CHECK: call ptr @llvm.invariant.start.p0
+  store ptr null, ptr %a
+  call void @llvm.invariant.end.unnamed(ptr %i, i64 1, ptr %a)
+  ; CHECK: call void @llvm.invariant.end.p0
   ret void
 }
 
- at __stack_chk_guard = external global i8*
-declare void @llvm.stackprotectorcheck(i8**)
+ at __stack_chk_guard = external global ptr
+declare void @llvm.stackprotectorcheck(ptr)
 
 define void @test.stackprotectorcheck() {
 ; CHECK-LABEL: @test.stackprotectorcheck(
 ; CHECK-NEXT: ret void
-  call void @llvm.stackprotectorcheck(i8** @__stack_chk_guard)
+  call void @llvm.stackprotectorcheck(ptr @__stack_chk_guard)
   ret void
 }
 
-declare void  @llvm.lifetime.start(i64, i8* nocapture) nounwind readonly
-declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind
+declare void  @llvm.lifetime.start(i64, ptr nocapture) nounwind readonly
+declare void @llvm.lifetime.end(i64, ptr nocapture) nounwind
 
 define void @tests.lifetime.start.end() {
   ; CHECK-LABEL: @tests.lifetime.start.end(
   %a = alloca i8
-  call void @llvm.lifetime.start(i64 1, i8* %a)
-  ; CHECK: call void @llvm.lifetime.start.p0i8(i64 1, i8* %a)
-  store i8 0, i8* %a
-  call void @llvm.lifetime.end(i64 1, i8* %a)
-  ; CHECK: call void @llvm.lifetime.end.p0i8(i64 1, i8* %a)
+  call void @llvm.lifetime.start(i64 1, ptr %a)
+  ; CHECK: call void @llvm.lifetime.start.p0(i64 1, ptr %a)
+  store i8 0, ptr %a
+  call void @llvm.lifetime.end(i64 1, ptr %a)
+  ; CHECK: call void @llvm.lifetime.end.p0(i64 1, ptr %a)
   ret void
 }
 
-declare void  @llvm.lifetime.start.unnamed(i64, %0** nocapture) nounwind readonly
-declare void @llvm.lifetime.end.unnamed(i64, %0** nocapture) nounwind
+declare void  @llvm.lifetime.start.unnamed(i64, ptr nocapture) nounwind readonly
+declare void @llvm.lifetime.end.unnamed(i64, ptr nocapture) nounwind
 
 define void @tests.lifetime.start.end.unnamed() {
   ; CHECK-LABEL: @tests.lifetime.start.end.unnamed(
-  %a = alloca %0*
-  call void @llvm.lifetime.start.unnamed(i64 1, %0** %a)
-  ; CHECK: call void @llvm.lifetime.start.p0p0s_s.0(i64 1, %0** %a)
-  store %0* null, %0** %a
-  call void @llvm.lifetime.end.unnamed(i64 1, %0** %a)
-  ; CHECK: call void @llvm.lifetime.end.p0p0s_s.0(i64 1, %0** %a)
+  %a = alloca ptr
+  call void @llvm.lifetime.start.unnamed(i64 1, ptr %a)
+  ; CHECK: call void @llvm.lifetime.start.p0(i64 1, ptr %a)
+  store ptr null, ptr %a
+  call void @llvm.lifetime.end.unnamed(i64 1, ptr %a)
+  ; CHECK: call void @llvm.lifetime.end.p0(i64 1, ptr %a)
   ret void
 }
 
-declare void @llvm.prefetch(i8*, i32, i32, i32)
-define void @test.prefetch(i8* %ptr) {
+declare void @llvm.prefetch(ptr, i32, i32, i32)
+define void @test.prefetch(ptr %ptr) {
 ; CHECK-LABEL: @test.prefetch(
-; CHECK: @llvm.prefetch.p0i8(i8* %ptr, i32 0, i32 3, i32 1)
-  call void @llvm.prefetch(i8* %ptr, i32 0, i32 3, i32 1)
+; CHECK: @llvm.prefetch.p0(ptr %ptr, i32 0, i32 3, i32 1)
+  call void @llvm.prefetch(ptr %ptr, i32 0, i32 3, i32 1)
   ret void
 }
 
-declare void @llvm.prefetch.p0i8(i8*, i32, i32, i32)
-define void @test.prefetch.2(i8* %ptr) {
+declare void @llvm.prefetch.p0(ptr, i32, i32, i32)
+define void @test.prefetch.2(ptr %ptr) {
 ; CHECK-LABEL: @test.prefetch.2(
-; CHECK: @llvm.prefetch.p0i8(i8* %ptr, i32 0, i32 3, i32 1)
-  call void @llvm.prefetch(i8* %ptr, i32 0, i32 3, i32 1)
+; CHECK: @llvm.prefetch.p0(ptr %ptr, i32 0, i32 3, i32 1)
+  call void @llvm.prefetch(ptr %ptr, i32 0, i32 3, i32 1)
   ret void
 }
 
-declare void @llvm.prefetch.unnamed(%0**, i32, i32, i32)
-define void @test.prefetch.unnamed(%0** %ptr) {
+declare void @llvm.prefetch.unnamed(ptr, i32, i32, i32)
+define void @test.prefetch.unnamed(ptr %ptr) {
 ; CHECK-LABEL: @test.prefetch.unnamed(
-; CHECK: @llvm.prefetch.p0p0s_s.0(%0** %ptr, i32 0, i32 3, i32 1)
-  call void @llvm.prefetch.unnamed(%0** %ptr, i32 0, i32 3, i32 1)
+; CHECK: @llvm.prefetch.p0(ptr %ptr, i32 0, i32 3, i32 1)
+  call void @llvm.prefetch.unnamed(ptr %ptr, i32 0, i32 3, i32 1)
   ret void
 }
 
 ; This is part of @test.objectsize(), since llvm.objectsize declaration gets
 ; emitted at the end.
-; CHECK: declare i32 @llvm.objectsize.i32.p0i8
-; CHECK: declare i32 @llvm.objectsize.i32.p0p0s_s.0
+; CHECK: declare i32 @llvm.objectsize.i32.p0
 
-; CHECK: declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture)
-; CHECK: declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture)
-; CHECK: declare void @llvm.lifetime.start.p0p0s_s.0(i64 immarg, %0** nocapture)
-; CHECK: declare void @llvm.lifetime.end.p0p0s_s.0(i64 immarg, %0** nocapture)
+; CHECK: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
+; CHECK: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)

diff  --git a/llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll b/llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
index 59308ef27a15..e9bd4f0e9661 100644
--- a/llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
+++ b/llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
@@ -3,13 +3,13 @@
 ; Check that remangling code doesn't fail on an intrinsic with wrong signature
 
 ; CHECK: Attribute after last parameter!
-; CHECK-NEXT: void (i8*, i8, i64)* @llvm.memset.i64
-declare void @llvm.memset.i64(i8* nocapture, i8, i64) nounwind
+; CHECK-NEXT: ptr @llvm.memset.i64
+declare void @llvm.memset.i64(ptr nocapture, i8, i64) nounwind
 
 ; CHECK: Attribute after last parameter!
-; CHECK-NEXT: void (i8*, i8, i64)* @llvm.memcpy.i64
-declare void @llvm.memcpy.i64(i8* nocapture, i8, i64) nounwind
+; CHECK-NEXT: ptr @llvm.memcpy.i64
+declare void @llvm.memcpy.i64(ptr nocapture, i8, i64) nounwind
 
 ; CHECK: Attribute after last parameter!
-; CHECK-NEXT: void (i8*, i8, i64)* @llvm.memmove.i64
-declare void @llvm.memmove.i64(i8* nocapture, i8, i64) nounwind
+; CHECK-NEXT: ptr @llvm.memmove.i64
+declare void @llvm.memmove.i64(ptr nocapture, i8, i64) nounwind

diff  --git a/llvm/test/Assembler/autoupgrade-thread-pointer.ll b/llvm/test/Assembler/autoupgrade-thread-pointer.ll
index a96829d9b2e8..2eaabb4e921f 100644
--- a/llvm/test/Assembler/autoupgrade-thread-pointer.ll
+++ b/llvm/test/Assembler/autoupgrade-thread-pointer.ll
@@ -1,19 +1,19 @@
 ; Test autoupgrade of arch-specific thread pointer intrinsics
 ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
 
-declare i8* @llvm.aarch64.thread.pointer()
-declare i8* @llvm.arm.thread.pointer()
+declare ptr @llvm.aarch64.thread.pointer()
+declare ptr @llvm.arm.thread.pointer()
 
-define i8* @test1() {
+define ptr @test1() {
 ; CHECK: test1()
-; CHECK: call i8* @llvm.thread.pointer()
-  %1 = call i8* @llvm.aarch64.thread.pointer()
-  ret i8 *%1
+; CHECK: call ptr @llvm.thread.pointer()
+  %1 = call ptr @llvm.aarch64.thread.pointer()
+  ret ptr %1
 }
 
-define i8* @test2() {
+define ptr @test2() {
 ; CHECK: test2()
-; CHECK: call i8* @llvm.thread.pointer()
-  %1 = call i8* @llvm.arm.thread.pointer()
-  ret i8 *%1
+; CHECK: call ptr @llvm.thread.pointer()
+  %1 = call ptr @llvm.arm.thread.pointer()
+  ret ptr %1
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-0.ll b/llvm/test/Assembler/byref-parse-error-0.ll
index 287cd8453a65..c117d37d27f0 100644
--- a/llvm/test/Assembler/byref-parse-error-0.ll
+++ b/llvm/test/Assembler/byref-parse-error-0.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:34: error: expected '('{{$}}
-define void @test_byref(i8* byref) {
+define void @test_byref(ptr byref) {
   ret void
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-1.ll b/llvm/test/Assembler/byref-parse-error-1.ll
index 3f189d340c9e..e63ec34e3532 100644
--- a/llvm/test/Assembler/byref-parse-error-1.ll
+++ b/llvm/test/Assembler/byref-parse-error-1.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:35: error: expected type{{$}}
-define void @test_byref(i8* byref() {
+define void @test_byref(ptr byref() {
   ret void
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-2.ll b/llvm/test/Assembler/byref-parse-error-2.ll
index 6037c3ac3c73..476a9e0506f5 100644
--- a/llvm/test/Assembler/byref-parse-error-2.ll
+++ b/llvm/test/Assembler/byref-parse-error-2.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:35: error: expected type{{$}}
-define void @test_byref(i8* byref()) {
+define void @test_byref(ptr byref()) {
   ret void
 }
 

diff  --git a/llvm/test/Assembler/byref-parse-error-3.ll b/llvm/test/Assembler/byref-parse-error-3.ll
index b86eab4e69c3..1047f0cbcb0b 100644
--- a/llvm/test/Assembler/byref-parse-error-3.ll
+++ b/llvm/test/Assembler/byref-parse-error-3.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:35: error: expected type{{$}}
-define void @test_byref(i8* byref(-1)) {
+define void @test_byref(ptr byref(-1)) {
   ret void
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-4.ll b/llvm/test/Assembler/byref-parse-error-4.ll
index 6b6a6c25715c..740e193efc54 100644
--- a/llvm/test/Assembler/byref-parse-error-4.ll
+++ b/llvm/test/Assembler/byref-parse-error-4.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:35: error: expected type{{$}}
-define void @test_byref(i8* byref(0)) {
+define void @test_byref(ptr byref(0)) {
   ret void
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-5.ll b/llvm/test/Assembler/byref-parse-error-5.ll
index 55ebd08e44ad..dbc4825e93ad 100644
--- a/llvm/test/Assembler/byref-parse-error-5.ll
+++ b/llvm/test/Assembler/byref-parse-error-5.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:14: error: expected '('{{$}}
-define byref i8* @test_byref() {
+define byref ptr @test_byref() {
   ret void
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-6.ll b/llvm/test/Assembler/byref-parse-error-6.ll
index f83378a0bf10..13365f514bae 100644
--- a/llvm/test/Assembler/byref-parse-error-6.ll
+++ b/llvm/test/Assembler/byref-parse-error-6.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:14: error: expected '('{{$}}
-define byref 8 i8* @test_byref() {
+define byref 8 ptr @test_byref() {
   ret void
 }

diff  --git a/llvm/test/Assembler/byref-parse-error-7.ll b/llvm/test/Assembler/byref-parse-error-7.ll
index 33764e42864d..cc00869c6c69 100644
--- a/llvm/test/Assembler/byref-parse-error-7.ll
+++ b/llvm/test/Assembler/byref-parse-error-7.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:14: error: expected type{{$}}
-define byref(8) i8* @test_byref() {
+define byref(8) ptr @test_byref() {
   ret void
 }

diff  --git a/llvm/test/Assembler/byval-parse-error0.ll b/llvm/test/Assembler/byval-parse-error0.ll
index c451ceea0ba2..3d4fb1ce06ee 100644
--- a/llvm/test/Assembler/byval-parse-error0.ll
+++ b/llvm/test/Assembler/byval-parse-error0.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:34: error: expected '('{{$}}
-define void @test_byval(i8* byval) {
+define void @test_byval(ptr byval) {
   ret void
 }

diff  --git a/llvm/test/Assembler/byval-type-attr.ll b/llvm/test/Assembler/byval-type-attr.ll
index 4b2e31bc3f9c..aa62997b6d08 100644
--- a/llvm/test/Assembler/byval-type-attr.ll
+++ b/llvm/test/Assembler/byval-type-attr.ll
@@ -1,43 +1,43 @@
 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
 
-; CHECK: define void @foo(i32* byval(i32) align 4 %0)
-define void @foo(i32* byval(i32) align 4 %0) {
+; CHECK: define void @foo(ptr byval(i32) align 4 %0)
+define void @foo(ptr byval(i32) align 4 %0) {
   ret void
 }
 
-; CHECK: define void @bar({ i32*, i8 }* byval({ i32*, i8 }) align 4 %0)
-define void @bar({i32*, i8}* byval({i32*, i8}) align 4 %0) {
+; CHECK: define void @bar(ptr byval({ ptr, i8 }) align 4 %0)
+define void @bar(ptr byval({ptr, i8}) align 4 %0) {
   ret void
 }
 
-define void @caller({ i32*, i8 }* %ptr) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
-; CHECK: call void @bar({ i32*, i8 }* byval({ i32*, i8 }) %ptr)
-; CHECK: invoke void @bar({ i32*, i8 }* byval({ i32*, i8 }) %ptr)
-  call void @bar({i32*, i8}* byval({i32*, i8}) %ptr)
-  invoke void @bar({i32*, i8}* byval({i32*, i8}) %ptr) to label %success unwind label %fail
+define void @caller(ptr %ptr) personality ptr @__gxx_personality_v0 {
+; CHECK: call void @bar(ptr byval({ ptr, i8 }) %ptr)
+; CHECK: invoke void @bar(ptr byval({ ptr, i8 }) %ptr)
+  call void @bar(ptr byval({ptr, i8}) %ptr)
+  invoke void @bar(ptr byval({ptr, i8}) %ptr) to label %success unwind label %fail
 
 success:
   ret void
 
 fail:
-  landingpad { i8*, i32 } cleanup
+  landingpad { ptr, i32 } cleanup
   ret void
 }
 
-; CHECK: declare void @baz([8 x i8]* byval([8 x i8]))
+; CHECK: declare void @baz(ptr byval([8 x i8]))
 %named_type = type [8 x i8]
-declare void @baz(%named_type* byval(%named_type))
+declare void @baz(ptr byval(%named_type))
 
 declare i32 @__gxx_personality_v0(...)
 
 %0 = type opaque
 
-; CHECK: define void @anon({ %0* }* byval({ %0* }) %arg)
-; CHECK:   call void @anon_callee({ %0* }* byval({ %0* }) %arg)
-define void @anon({ %0* }* byval({ %0* }) %arg) {
-  call void @anon_callee({ %0* }* byval({ %0* }) %arg)
+; CHECK: define void @anon(ptr byval({ ptr }) %arg)
+; CHECK:   call void @anon_callee(ptr byval({ ptr }) %arg)
+define void @anon(ptr byval({ ptr }) %arg) {
+  call void @anon_callee(ptr byval({ ptr }) %arg)
   ret void
 }
 
-; CHECK: declare void @anon_callee({ %0* }* byval({ %0* }))
-declare void @anon_callee({ %0* }* byval({ %0* }))
+; CHECK: declare void @anon_callee(ptr byval({ ptr }))
+declare void @anon_callee(ptr byval({ ptr }))

diff  --git a/llvm/test/Assembler/call-arg-is-callee.ll b/llvm/test/Assembler/call-arg-is-callee.ll
index e7cafaaf553f..b8e2c2d60e34 100644
--- a/llvm/test/Assembler/call-arg-is-callee.ll
+++ b/llvm/test/Assembler/call-arg-is-callee.ll
@@ -4,21 +4,21 @@
 ; RUN: verify-uselistorder < %s
 
 ; Check ordering of callee operand versus the argument operand.
-define void @call(void (...)* %p) {
-  call void (...) %p(void (...)* %p)
+define void @call(ptr %p) {
+  call void (...) %p(ptr %p)
   ret void
 }
 
 ; Check ordering of callee operand versus the argument operand.
-declare void @personality(i8*)
-define void @invoke(void (...)* %p) personality void(i8*)* @personality {
+declare void @personality(ptr)
+define void @invoke(ptr %p) personality ptr @personality {
 entry:
-  invoke void (...) %p(void (...)* %p)
+  invoke void (...) %p(ptr %p)
   to label %normal unwind label %exception
 normal:
   ret void
 exception:
-  landingpad { i8*, i32 } cleanup
+  landingpad { ptr, i32 } cleanup
   ret void
 }
 

diff  --git a/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll b/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
index 6ec1fd0e2aba..f5c5437d8221 100644
--- a/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
+++ b/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
@@ -3,18 +3,18 @@
 
 ; Check that numbered variables in a nonzero program address space 200 can be used in a call instruction
 
-define i8 @test_unnamed(i8(i32)*, i8(i32) addrspace(42)* %0) {
+define i8 @test_unnamed(ptr, ptr addrspace(42) %0) {
   ; Calls with explicit address spaces are fine:
   call addrspace(0) i8 %0(i32 0)
   call addrspace(42) i8 %1(i32 0)
   ; this call is fine if the program address space is 42
   call i8 %1(i32 0)
-  ; CHECK: call-nonzero-program-addrspace-2.ll:[[@LINE-1]]:11: error: '%1' defined with type 'i8 (i32) addrspace(42)*' but expected 'i8 (i32)*'
+  ; CHECK: call-nonzero-program-addrspace-2.ll:[[@LINE-1]]:11: error: '%1' defined with type 'ptr addrspace(42)' but expected 'ptr'
   ret i8 0
 }
 
 ; PROGAS42:       target datalayout = "P42"
-; PROGAS42:       define i8 @test_unnamed(i8 (i32)* %0, i8 (i32) addrspace(42)* %1) addrspace(42) {
+; PROGAS42:       define i8 @test_unnamed(ptr %0, ptr addrspace(42) %1) addrspace(42) {
 ; PROGAS42-NEXT:    %3 = call addrspace(0) i8 %0(i32 0)
 ; PROGAS42-NEXT:    %4 = call addrspace(42) i8 %1(i32 0)
 ; PROGAS42-NEXT:    %5 = call addrspace(42) i8 %1(i32 0)

diff  --git a/llvm/test/Assembler/call-nonzero-program-addrspace.ll b/llvm/test/Assembler/call-nonzero-program-addrspace.ll
index 111ef0ccefe9..5f6f76e3ef9c 100644
--- a/llvm/test/Assembler/call-nonzero-program-addrspace.ll
+++ b/llvm/test/Assembler/call-nonzero-program-addrspace.ll
@@ -3,17 +3,17 @@
 
 ; Check that variables in a nonzero program address space 42 can be used in a call instruction
 
-define i8 @test(i8(i32)* %fnptr0, i8(i32) addrspace(42)* %fnptr42) {
+define i8 @test(ptr %fnptr0, ptr addrspace(42) %fnptr42) {
   %explicit_as_0 = call addrspace(0) i8 %fnptr0(i32 0)
   %explicit_as_42 = call addrspace(42) i8 %fnptr42(i32 0)
   ; Calling %fnptr42 without an explicit addrspace() in the call instruction is only okay if the program AS is 42
   %call_no_as = call i8 %fnptr42(i32 0)
-  ; CHECK: call-nonzero-program-addrspace.ll:[[@LINE-1]]:25: error: '%fnptr42' defined with type 'i8 (i32) addrspace(42)*' but expected 'i8 (i32)*'
+  ; CHECK: call-nonzero-program-addrspace.ll:[[@LINE-1]]:25: error: '%fnptr42' defined with type 'ptr addrspace(42)' but expected 'ptr'
   ret i8 0
 }
 
 ; PROGAS42:       target datalayout = "P42"
-; PROGAS42:       define i8 @test(i8 (i32)* %fnptr0, i8 (i32) addrspace(42)* %fnptr42) addrspace(42) {
+; PROGAS42:       define i8 @test(ptr %fnptr0, ptr addrspace(42) %fnptr42) addrspace(42) {
 ; Print addrspace(0) since the program address space is non-zero:
 ; PROGAS42-NEXT:    %explicit_as_0 = call addrspace(0) i8 %fnptr0(i32 0)
 ; Also print addrspace(42) since we always print non-zero addrspace:

diff  --git a/llvm/test/Assembler/cmpxchg-ordering-2.ll b/llvm/test/Assembler/cmpxchg-ordering-2.ll
index 5bbb7e8b1036..847c0a1c30cc 100644
--- a/llvm/test/Assembler/cmpxchg-ordering-2.ll
+++ b/llvm/test/Assembler/cmpxchg-ordering-2.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-define void @f(i32* %a, i32 %b, i32 %c) {
+define void @f(ptr %a, i32 %b, i32 %c) {
 ; CHECK: invalid cmpxchg failure ordering
-  %x = cmpxchg i32* %a, i32 %b, i32 %c acq_rel unordered
+  %x = cmpxchg ptr %a, i32 %b, i32 %c acq_rel unordered
   ret void
 }

diff  --git a/llvm/test/Assembler/cmpxchg-ordering-3.ll b/llvm/test/Assembler/cmpxchg-ordering-3.ll
index fa760b217c11..61f2e3e14176 100644
--- a/llvm/test/Assembler/cmpxchg-ordering-3.ll
+++ b/llvm/test/Assembler/cmpxchg-ordering-3.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-define void @f(i32* %a, i32 %b, i32 %c) {
+define void @f(ptr %a, i32 %b, i32 %c) {
 ; CHECK: invalid cmpxchg failure ordering
-  %x = cmpxchg i32* %a, i32 %b, i32 %c acq_rel acq_rel
+  %x = cmpxchg ptr %a, i32 %b, i32 %c acq_rel acq_rel
   ret void
 }

diff  --git a/llvm/test/Assembler/cmpxchg-ordering-4.ll b/llvm/test/Assembler/cmpxchg-ordering-4.ll
index d33100daf0dc..66e6fe3553d6 100644
--- a/llvm/test/Assembler/cmpxchg-ordering-4.ll
+++ b/llvm/test/Assembler/cmpxchg-ordering-4.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-define void @f(i32* %a, i32 %b, i32 %c) {
+define void @f(ptr %a, i32 %b, i32 %c) {
 ; CHECK: invalid cmpxchg failure ordering
-  %x = cmpxchg i32* %a, i32 %b, i32 %c acq_rel release
+  %x = cmpxchg ptr %a, i32 %b, i32 %c acq_rel release
   ret void
 }

diff  --git a/llvm/test/Assembler/cmpxchg-ordering.ll b/llvm/test/Assembler/cmpxchg-ordering.ll
index 62462ce3da13..7fd4321ea022 100644
--- a/llvm/test/Assembler/cmpxchg-ordering.ll
+++ b/llvm/test/Assembler/cmpxchg-ordering.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-define void @f(i32* %a, i32 %b, i32 %c) {
+define void @f(ptr %a, i32 %b, i32 %c) {
 ; CHECK: invalid cmpxchg success ordering
-  %x = cmpxchg i32* %a, i32 %b, i32 %c unordered monotonic
+  %x = cmpxchg ptr %a, i32 %b, i32 %c unordered monotonic
   ret void
 }

diff  --git a/llvm/test/Assembler/debug-label-bitcode.ll b/llvm/test/Assembler/debug-label-bitcode.ll
index 9eb56e424b03..a44b0853edd5 100644
--- a/llvm/test/Assembler/debug-label-bitcode.ll
+++ b/llvm/test/Assembler/debug-label-bitcode.ll
@@ -16,21 +16,21 @@ entry:
   %a.addr = alloca i32, align 4
   %b.addr = alloca i32, align 4
   %sum = alloca i32, align 4
-  store i32 %a, i32* %a.addr, align 4
-  store i32 %b, i32* %b.addr, align 4
+  store i32 %a, ptr %a.addr, align 4
+  store i32 %b, ptr %b.addr, align 4
   br label %top
 
 top:                                              ; preds = %entry
   call void @llvm.dbg.label(metadata !9), !dbg !10
-  %0 = load i32, i32* %a.addr, align 4
-  %1 = load i32, i32* %b.addr, align 4
+  %0 = load i32, ptr %a.addr, align 4
+  %1 = load i32, ptr %b.addr, align 4
   %add = add nsw i32 %0, %1
-  store i32 %add, i32* %sum, align 4
+  store i32 %add, ptr %sum, align 4
   br label %done
 
 done:                                             ; preds = %top
   call void @llvm.dbg.label(metadata !11), !dbg !12
-  %2 = load i32, i32* %sum, align 4
+  %2 = load i32, ptr %sum, align 4
   ret i32 %2
 }
 

diff  --git a/llvm/test/Assembler/disubprogram-targetfuncname.ll b/llvm/test/Assembler/disubprogram-targetfuncname.ll
index a4350018ed21..c78ae7ab3c1b 100644
--- a/llvm/test/Assembler/disubprogram-targetfuncname.ll
+++ b/llvm/test/Assembler/disubprogram-targetfuncname.ll
@@ -10,9 +10,9 @@ source_filename = "main.f"
 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-define internal void @sub1_.t0p(float* %arg0) #0 !dbg !23 {
+define internal void @sub1_.t0p(ptr %arg0) #0 !dbg !23 {
 wrap_start11:
-  call void (...) @sub1_(float* %arg0), !dbg !25
+  call void (...) @sub1_(ptr %arg0), !dbg !25
   ret void, !dbg !25
 }
 

diff  --git a/llvm/test/Assembler/dll-storage-class-local-linkage.ll b/llvm/test/Assembler/dll-storage-class-local-linkage.ll
index 67429ef5eaa1..849f2fc2acb8 100644
--- a/llvm/test/Assembler/dll-storage-class-local-linkage.ll
+++ b/llvm/test/Assembler/dll-storage-class-local-linkage.ll
@@ -36,7 +36,7 @@ entry:
 ;--- internal_alias_dllexport.ll
 
 @global = global i32 0
- at alias = internal dllexport alias i32, i32* @global
+ at alias = internal dllexport alias i32, ptr @global
 
 ;--- private_function_dllexport.ll
 
@@ -52,7 +52,7 @@ entry:
 ;--- private_alias_dllexport.ll
 
 @global = global i32 0
- at alias = private dllexport alias i32, i32* @global
+ at alias = private dllexport alias i32, ptr @global
 
 
 ;--- internal_function_dllimport.ll
@@ -69,7 +69,7 @@ entry:
 ;--- internal_alias_dllimport.ll
 
 @global = global i32 0
- at alias = internal dllimport alias i32, i32* @global
+ at alias = internal dllimport alias i32, ptr @global
 
 ;--- private_function_dllimport.ll
 
@@ -85,4 +85,4 @@ entry:
 ;--- private_alias_dllimport.ll
 
 @global = global i32 0
- at alias = private dllimport alias i32, i32* @global
+ at alias = private dllimport alias i32, ptr @global

diff  --git a/llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll b/llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
index f2d401675bd0..2b089d263937 100644
--- a/llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
+++ b/llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
@@ -9,7 +9,7 @@ entry:
 ; DIS: %tmp = alloca i32, align 4, addrspace(5)
   %tmp = alloca i32, addrspace(5)
   call void @llvm.dbg.value(
-      metadata i8* undef,
+      metadata ptr undef,
       metadata !DILocalVariable(scope: !1),
       metadata !DIExpression())
 ; AS: llvm.dbg.value intrinsic requires a !dbg attachment

diff  --git a/llvm/test/Assembler/drop-debug-info.ll b/llvm/test/Assembler/drop-debug-info.ll
index 0bec8f0679ef..ab1285dfa4f8 100644
--- a/llvm/test/Assembler/drop-debug-info.ll
+++ b/llvm/test/Assembler/drop-debug-info.ll
@@ -5,7 +5,7 @@
 define i32 @main() !dbg !4 {
 entry:
   %retval = alloca i32, align 4
-  store i32 0, i32* %retval
+  store i32 0, ptr %retval
   ret i32 0, !dbg !12
 }
 

diff  --git a/llvm/test/Assembler/fast-math-flags.ll b/llvm/test/Assembler/fast-math-flags.ll
index 37fd3fd9487d..116f9305af8d 100644
--- a/llvm/test/Assembler/fast-math-flags.ll
+++ b/llvm/test/Assembler/fast-math-flags.ll
@@ -11,12 +11,12 @@ declare float @foo(float)
 
 define float @none(float %x, float %y) {
 entry:
-; CHECK:  %vec = load <3 x float>, <3 x float>* @vec
-  %vec    = load <3 x float>, <3 x float>* @vec
-; CHECK:  %select = load i1, i1* @select
-  %select = load i1, i1* @select
-; CHECK:  %arr = load [3 x float], [3 x float]* @arr
-  %arr    = load [3 x float], [3 x float]* @arr
+; CHECK:  %vec = load <3 x float>, ptr @vec
+  %vec    = load <3 x float>, ptr @vec
+; CHECK:  %select = load i1, ptr @select
+  %select = load i1, ptr @select
+; CHECK:  %arr = load [3 x float], ptr @arr
+  %arr    = load [3 x float], ptr @arr
 
 ; CHECK:  %a = fadd float %x, %y
   %a = fadd float %x, %y
@@ -49,12 +49,12 @@ entry:
 ; CHECK: no_nan
 define float @no_nan(float %x, float %y) {
 entry:
-; CHECK:  %vec = load <3 x float>, <3 x float>* @vec
-  %vec    = load <3 x float>, <3 x float>* @vec
-; CHECK:  %select = load i1, i1* @select
-  %select = load i1, i1* @select
-; CHECK:  %arr = load [3 x float], [3 x float]* @arr
-  %arr    = load [3 x float], [3 x float]* @arr
+; CHECK:  %vec = load <3 x float>, ptr @vec
+  %vec    = load <3 x float>, ptr @vec
+; CHECK:  %select = load i1, ptr @select
+  %select = load i1, ptr @select
+; CHECK:  %arr = load [3 x float], ptr @arr
+  %arr    = load [3 x float], ptr @arr
 
 ; CHECK:  %a = fadd nnan float %x, %y
   %a = fadd nnan float %x, %y
@@ -121,12 +121,12 @@ define float @afn(float %x, float %y) {
 ; CHECK: no_nan_inf
 define float @no_nan_inf(float %x, float %y) {
 entry:
-; CHECK:  %vec = load <3 x float>, <3 x float>* @vec
-  %vec    = load <3 x float>, <3 x float>* @vec
-; CHECK:  %select = load i1, i1* @select
-  %select = load i1, i1* @select
-; CHECK:  %arr = load [3 x float], [3 x float]* @arr
-  %arr    = load [3 x float], [3 x float]* @arr
+; CHECK:  %vec = load <3 x float>, ptr @vec
+  %vec    = load <3 x float>, ptr @vec
+; CHECK:  %select = load i1, ptr @select
+  %select = load i1, ptr @select
+; CHECK:  %arr = load [3 x float], ptr @arr
+  %arr    = load [3 x float], ptr @arr
 
 ; CHECK:  %a = fadd nnan ninf float %x, %y
   %a = fadd ninf nnan float %x, %y
@@ -155,12 +155,12 @@ entry:
 ; CHECK: mixed_flags
 define float @mixed_flags(float %x, float %y) {
 entry:
-; CHECK:  %vec = load <3 x float>, <3 x float>* @vec
-  %vec    = load <3 x float>, <3 x float>* @vec
-; CHECK:  %select = load i1, i1* @select
-  %select = load i1, i1* @select
-; CHECK:  %arr = load [3 x float], [3 x float]* @arr
-  %arr    = load [3 x float], [3 x float]* @arr
+; CHECK:  %vec = load <3 x float>, ptr @vec
+  %vec    = load <3 x float>, ptr @vec
+; CHECK:  %select = load i1, ptr @select
+  %select = load i1, ptr @select
+; CHECK:  %arr = load [3 x float], ptr @arr
+  %arr    = load [3 x float], ptr @arr
 
 ; CHECK:  %a = fadd nnan ninf afn float %x, %y
   %a = fadd ninf nnan afn float %x, %y
@@ -193,12 +193,12 @@ entry:
 ; CHECK: @fmf_calls(
 define float @fmf_calls(float %x, float %y) {
 entry:
-; CHECK:  %vec = load <3 x float>, <3 x float>* @vec
-  %vec    = load <3 x float>, <3 x float>* @vec
-; CHECK:  %select = load i1, i1* @select
-  %select = load i1, i1* @select
-; CHECK:  %arr = load [3 x float], [3 x float]* @arr
-  %arr    = load [3 x float], [3 x float]* @arr
+; CHECK:  %vec = load <3 x float>, ptr @vec
+  %vec    = load <3 x float>, ptr @vec
+; CHECK:  %select = load i1, ptr @select
+  %select = load i1, ptr @select
+; CHECK:  %arr = load [3 x float], ptr @arr
+  %arr    = load [3 x float], ptr @arr
 
 ; CHECK:  %a = call nnan ninf afn float @extfunc(float %x, float %y)
   %a = call ninf nnan afn float @extfunc(float %x, float %y)

diff  --git a/llvm/test/Assembler/flags.ll b/llvm/test/Assembler/flags.ll
index 3a488ee7aa7d..3b54b06b81d4 100644
--- a/llvm/test/Assembler/flags.ll
+++ b/llvm/test/Assembler/flags.ll
@@ -147,116 +147,116 @@ define i64 @lshr_exact(i64 %x, i64 %y) {
 	ret i64 %z
 }
 
-define i64* @gep_nw(i64* %p, i64 %x) {
-; CHECK: %z = getelementptr inbounds i64, i64* %p, i64 %x
-	%z = getelementptr inbounds i64, i64* %p, i64 %x
-        ret i64* %z
+define ptr @gep_nw(ptr %p, i64 %x) {
+; CHECK: %z = getelementptr inbounds i64, ptr %p, i64 %x
+	%z = getelementptr inbounds i64, ptr %p, i64 %x
+        ret ptr %z
 }
 
-define i64* @gep_plain(i64* %p, i64 %x) {
-; CHECK: %z = getelementptr i64, i64* %p, i64 %x
-	%z = getelementptr i64, i64* %p, i64 %x
-        ret i64* %z
+define ptr @gep_plain(ptr %p, i64 %x) {
+; CHECK: %z = getelementptr i64, ptr %p, i64 %x
+	%z = getelementptr i64, ptr %p, i64 %x
+        ret ptr %z
 }
 
 define i64 @add_both_ce() {
-; CHECK: ret i64 add nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 add nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 add nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 add nsw nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @sub_both_ce() {
-; CHECK: ret i64 sub nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 sub nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 sub nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 sub nsw nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @mul_both_ce() {
-; CHECK: ret i64 mul nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 mul nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 mul nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 mul nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @ashr_exact_ce() {
-; CHECK: ret i64 ashr exact (i64 ptrtoint (i64* @addr to i64), i64 9)
-	ret i64 ashr exact (i64 ptrtoint (i64* @addr to i64), i64 9)
+; CHECK: ret i64 ashr exact (i64 ptrtoint (ptr @addr to i64), i64 9)
+	ret i64 ashr exact (i64 ptrtoint (ptr @addr to i64), i64 9)
 }
 
 define i64 @lshr_exact_ce() {
-; CHECK: ret i64 lshr exact (i64 ptrtoint (i64* @addr to i64), i64 9)
-	ret i64 lshr exact (i64 ptrtoint (i64* @addr to i64), i64 9)
+; CHECK: ret i64 lshr exact (i64 ptrtoint (ptr @addr to i64), i64 9)
+	ret i64 lshr exact (i64 ptrtoint (ptr @addr to i64), i64 9)
 }
 
-define i64* @gep_nw_ce() {
-; CHECK: ret i64* getelementptr inbounds (i64, i64* @addr, i64 171)
-        ret i64* getelementptr inbounds (i64, i64* @addr, i64 171)
+define ptr @gep_nw_ce() {
+; CHECK: ret ptr getelementptr inbounds (i64, ptr @addr, i64 171)
+        ret ptr getelementptr inbounds (i64, ptr @addr, i64 171)
 }
 
 define i64 @add_plain_ce() {
-; CHECK: ret i64 add (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 add (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 add (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 add (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @sub_plain_ce() {
-; CHECK: ret i64 sub (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 sub (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 sub (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 sub (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @mul_plain_ce() {
-; CHECK: ret i64 mul (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 mul (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 mul (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 mul (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
-define i64* @gep_plain_ce() {
-; CHECK: ret i64* getelementptr (i64, i64* @addr, i64 171)
-        ret i64* getelementptr (i64, i64* @addr, i64 171)
+define ptr @gep_plain_ce() {
+; CHECK: ret ptr getelementptr (i64, ptr @addr, i64 171)
+        ret ptr getelementptr (i64, ptr @addr, i64 171)
 }
 
 define i64 @add_both_reversed_ce() {
-; CHECK: ret i64 add nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 add nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 add nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 add nsw nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @sub_both_reversed_ce() {
-; CHECK: ret i64 sub nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 sub nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 sub nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 sub nsw nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @mul_both_reversed_ce() {
-; CHECK: ret i64 mul nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 mul nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 mul nuw nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 mul nsw nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @add_signed_ce() {
-; CHECK: ret i64 add nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 add nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 add nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 add nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @sub_signed_ce() {
-; CHECK: ret i64 sub nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 sub nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 sub nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 sub nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @mul_signed_ce() {
-; CHECK: ret i64 mul nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 mul nsw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 mul nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 mul nsw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @shl_signed_ce() {
-; CHECK: ret i64 shl nsw (i64 ptrtoint (i64* @addr to i64), i64 17)
-	ret i64 shl nsw (i64 ptrtoint (i64* @addr to i64), i64 17)
+; CHECK: ret i64 shl nsw (i64 ptrtoint (ptr @addr to i64), i64 17)
+	ret i64 shl nsw (i64 ptrtoint (ptr @addr to i64), i64 17)
 }
 
 
 define i64 @add_unsigned_ce() {
-; CHECK: ret i64 add nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 add nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 add nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 add nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @sub_unsigned_ce() {
-; CHECK: ret i64 sub nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 sub nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 sub nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 sub nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 
 define i64 @mul_unsigned_ce() {
-; CHECK: ret i64 mul nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
-	ret i64 mul nuw (i64 ptrtoint (i64* @addr to i64), i64 91)
+; CHECK: ret i64 mul nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
+	ret i64 mul nuw (i64 ptrtoint (ptr @addr to i64), i64 91)
 }
 

diff  --git a/llvm/test/Assembler/function-operand-uselistorder.ll b/llvm/test/Assembler/function-operand-uselistorder.ll
index e17475f172d2..d3f020e84b33 100644
--- a/llvm/test/Assembler/function-operand-uselistorder.ll
+++ b/llvm/test/Assembler/function-operand-uselistorder.ll
@@ -2,10 +2,10 @@
 
 @g = global i8 0
 
-define void @f1() prefix i8* @g prologue i8* @g personality i8* @g {
+define void @f1() prefix ptr @g prologue ptr @g personality ptr @g {
   ret void
 }
 
-define void @f2() prefix i8* @g prologue i8* @g personality i8* @g {
+define void @f2() prefix ptr @g prologue ptr @g personality ptr @g {
   ret void
 }

diff  --git a/llvm/test/Assembler/getelementptr.ll b/llvm/test/Assembler/getelementptr.ll
index c4384ab507bf..99b738b1413c 100644
--- a/llvm/test/Assembler/getelementptr.ll
+++ b/llvm/test/Assembler/getelementptr.ll
@@ -3,75 +3,75 @@
 
 ; Verify that over-indexed getelementptrs are folded.
 @A = external global [2 x [3 x [5 x [7 x i32]]]]
- at B = global i32* getelementptr ([2 x [3 x [5 x [7 x i32]]]], [2 x [3 x [5 x [7 x i32]]]]* @A, i64 0, i64 0, i64 2, i64 1, i64 7523)
-; CHECK: @B = global i32* getelementptr ([2 x [3 x [5 x [7 x i32]]]], [2 x [3 x [5 x [7 x i32]]]]* @A, i64 36, i64 0, i64 1, i64 0, i64 5)
- at C = global i32* getelementptr ([2 x [3 x [5 x [7 x i32]]]], [2 x [3 x [5 x [7 x i32]]]]* @A, i64 3, i64 2, i64 0, i64 0, i64 7523)
-; CHECK: @C = global i32* getelementptr ([2 x [3 x [5 x [7 x i32]]]], [2 x [3 x [5 x [7 x i32]]]]* @A, i64 39, i64 1, i64 1, i64 4, i64 5)
+ at B = global ptr getelementptr ([2 x [3 x [5 x [7 x i32]]]], ptr @A, i64 0, i64 0, i64 2, i64 1, i64 7523)
+; CHECK: @B = global ptr getelementptr ([2 x [3 x [5 x [7 x i32]]]], ptr @A, i64 36, i64 0, i64 1, i64 0, i64 5)
+ at C = global ptr getelementptr ([2 x [3 x [5 x [7 x i32]]]], ptr @A, i64 3, i64 2, i64 0, i64 0, i64 7523)
+; CHECK: @C = global ptr getelementptr ([2 x [3 x [5 x [7 x i32]]]], ptr @A, i64 39, i64 1, i64 1, i64 4, i64 5)
 
 ; Verify that constant expression GEPs work with i84 indices.
 @D = external global [1 x i32]
 
- at E = global i32* getelementptr inbounds ([1 x i32], [1 x i32]* @D, i84 0, i64 1)
-; CHECK: @E = global i32* getelementptr inbounds ([1 x i32], [1 x i32]* @D, i84 1, i64 0)
+ at E = global ptr getelementptr inbounds ([1 x i32], ptr @D, i84 0, i64 1)
+; CHECK: @E = global ptr getelementptr inbounds ([1 x i32], ptr @D, i84 1, i64 0)
 
 ; Verify that i16 indices work.
 @x = external global {i32, i32}
- at y = global i32* getelementptr ({ i32, i32 }, { i32, i32 }* @x, i16 42, i32 0)
-; CHECK: @y = global i32* getelementptr ({ i32, i32 }, { i32, i32 }* @x, i16 42, i32 0)
+ at y = global ptr getelementptr ({ i32, i32 }, ptr @x, i16 42, i32 0)
+; CHECK: @y = global ptr getelementptr ({ i32, i32 }, ptr @x, i16 42, i32 0)
 
 @PR23753_a = external global i8
- at PR23753_b = global i8* getelementptr (i8, i8* @PR23753_a, i64 ptrtoint (i8* @PR23753_a to i64))
-; CHECK: @PR23753_b = global i8* getelementptr (i8, i8* @PR23753_a, i64 ptrtoint (i8* @PR23753_a to i64))
+ at PR23753_b = global ptr getelementptr (i8, ptr @PR23753_a, i64 ptrtoint (ptr @PR23753_a to i64))
+; CHECK: @PR23753_b = global ptr getelementptr (i8, ptr @PR23753_a, i64 ptrtoint (ptr @PR23753_a to i64))
 
 ; Verify that inrange on an index inhibits over-indexed getelementptr folding.
 
- at nestedarray = global [2 x [4 x i8*]] zeroinitializer
+ at nestedarray = global [2 x [4 x ptr]] zeroinitializer
 
-; CHECK: @nestedarray.1 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, inrange i32 0, i64 1, i32 0)
- at nestedarray.1 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, inrange i32 0, i32 0, i32 4)
+; CHECK: @nestedarray.1 = alias ptr, getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, inrange i32 0, i64 1, i32 0)
+ at nestedarray.1 = alias ptr, getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, inrange i32 0, i32 0, i32 4)
 
-; CHECK: @nestedarray.2 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, i32 0, inrange i32 0, i32 4)
- at nestedarray.2 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, i32 0, inrange i32 0, i32 4)
+; CHECK: @nestedarray.2 = alias ptr, getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, i32 0, inrange i32 0, i32 4)
+ at nestedarray.2 = alias ptr, getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, i32 0, inrange i32 0, i32 4)
 
-; CHECK: @nestedarray.3 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, i32 0, inrange i32 0, i32 0)
- at nestedarray.3 = alias i8*, getelementptr inbounds ([4 x i8*], [4 x i8*]* getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, i32 0, inrange i32 0), i32 0, i32 0)
+; CHECK: @nestedarray.3 = alias ptr, ptr @nestedarray
+ at nestedarray.3 = alias ptr, getelementptr inbounds ([4 x ptr], ptr getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, i32 0, inrange i32 0), i32 0, i32 0)
 
-; CHECK: @nestedarray.4 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, i32 0, i32 1, i32 0)
- at nestedarray.4 = alias i8*, getelementptr inbounds ([4 x i8*], [4 x i8*]* getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, i32 0, inrange i32 0), i32 1, i32 0)
+; CHECK: @nestedarray.4 = alias ptr, getelementptr inbounds ([4 x ptr], ptr @nestedarray, i32 1, i32 0)
+ at nestedarray.4 = alias ptr, getelementptr inbounds ([4 x ptr], ptr getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, i32 0, inrange i32 0), i32 1, i32 0)
 
-; CHECK: @nestedarray.5 = alias i8*, getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, inrange i32 0, i32 1, i32 0)
- at nestedarray.5 = alias i8*, getelementptr inbounds ([4 x i8*], [4 x i8*]* getelementptr inbounds ([2 x [4 x i8*]], [2 x [4 x i8*]]* @nestedarray, inrange i32 0, i32 0), i32 1, i32 0)
+; CHECK: @nestedarray.5 = alias ptr, getelementptr inbounds ([4 x ptr], ptr @nestedarray, i32 1, i32 0)
+ at nestedarray.5 = alias ptr, getelementptr inbounds ([4 x ptr], ptr getelementptr inbounds ([2 x [4 x ptr]], ptr @nestedarray, inrange i32 0, i32 0), i32 1, i32 0)
 
 ; See if i92 indices work too.
-define i32 *@test({i32, i32}* %t, i92 %n) {
+define ptr @test(ptr %t, i92 %n) {
 ; CHECK: @test
-; CHECK: %B = getelementptr { i32, i32 }, { i32, i32 }* %t, i92 %n, i32 0
-  %B = getelementptr {i32, i32}, {i32, i32}* %t, i92 %n, i32 0
-  ret i32* %B
+; CHECK: %B = getelementptr { i32, i32 }, ptr %t, i92 %n, i32 0
+  %B = getelementptr {i32, i32}, ptr %t, i92 %n, i32 0
+  ret ptr %B
 }
 
 ; Verify that constant expression vector GEPs work.
 
- at z = global <2 x i32*> getelementptr ([3 x {i32, i32}], <2 x [3 x {i32, i32}]*> zeroinitializer, <2 x i32> <i32 1, i32 2>, <2 x i32> <i32 2, i32 3>, <2 x i32> <i32 1, i32 1>)
+ at z = global <2 x ptr> getelementptr ([3 x {i32, i32}], <2 x ptr> zeroinitializer, <2 x i32> <i32 1, i32 2>, <2 x i32> <i32 2, i32 3>, <2 x i32> <i32 1, i32 1>)
 
 ; Verify that struct GEP works with a vector of pointers.
-define <2 x i32*> @test7(<2 x {i32, i32}*> %a) {
-  %w = getelementptr {i32, i32}, <2 x {i32, i32}*> %a, <2 x i32> <i32 5, i32 9>, <2 x i32> zeroinitializer
-  ret <2 x i32*> %w
+define <2 x ptr> @test7(<2 x ptr> %a) {
+  %w = getelementptr {i32, i32}, <2 x ptr> %a, <2 x i32> <i32 5, i32 9>, <2 x i32> zeroinitializer
+  ret <2 x ptr> %w
 }
 
 ; Verify that array GEP works with a vector of pointers.
-define <2 x i8*> @test8(<2 x [2 x i8]*> %a) {
-  %w = getelementptr  [2 x i8], <2 x  [2 x i8]*> %a, <2 x i32> <i32 0, i32 0>, <2 x i8> <i8 0, i8 1>
-  ret <2 x i8*> %w
+define <2 x ptr> @test8(<2 x ptr> %a) {
+  %w = getelementptr  [2 x i8], <2 x  ptr> %a, <2 x i32> <i32 0, i32 0>, <2 x i8> <i8 0, i8 1>
+  ret <2 x ptr> %w
 }
 
 @array = internal global [16 x i32] [i32 -200, i32 -199, i32 -198, i32 -197, i32 -196, i32 -195, i32 -194, i32 -193, i32 -192, i32 -191, i32 -190, i32 -189, i32 -188, i32 -187, i32 -186, i32 -185], align 16
 
 ; Verify that array GEP doesn't incorrectly infer inbounds.
-define i32* @test9() {
+define ptr @test9() {
 entry:
-  ret i32* getelementptr ([16 x i32], [16 x i32]* @array, i64 0, i64 -13)
-; CHECK-LABEL: define i32* @test9(
-; CHECK: ret i32* getelementptr ([16 x i32], [16 x i32]* @array, i64 0, i64 -13)
+  ret ptr getelementptr ([16 x i32], ptr @array, i64 0, i64 -13)
+; CHECK-LABEL: define ptr @test9(
+; CHECK: ret ptr getelementptr ([16 x i32], ptr @array, i64 0, i64 -13)
 }

diff  --git a/llvm/test/Assembler/getelementptr_invalid_ptr.ll b/llvm/test/Assembler/getelementptr_invalid_ptr.ll
index 892292729a18..0fe21cc62163 100644
--- a/llvm/test/Assembler/getelementptr_invalid_ptr.ll
+++ b/llvm/test/Assembler/getelementptr_invalid_ptr.ll
@@ -3,8 +3,8 @@
 
 ; CHECK: base of getelementptr must be a pointer
 
-define i32* @foo(i32 %a) {
+define ptr @foo(i32 %a) {
   %gep = getelementptr i32, i32 %a, i32 1
-  return i32* %gep
+  return ptr %gep
 }
 

diff  --git a/llvm/test/Assembler/getelementptr_struct.ll b/llvm/test/Assembler/getelementptr_struct.ll
index 9ab554656ea5..6586155b7d8b 100644
--- a/llvm/test/Assembler/getelementptr_struct.ll
+++ b/llvm/test/Assembler/getelementptr_struct.ll
@@ -7,9 +7,9 @@
 %RT = type { i8 , [10 x [20 x i32]], i8  }
 %ST = type { i32, double, %RT }
 
-define i32* @foo(%ST* %s) {
+define ptr @foo(ptr %s) {
 entry:
-  %reg = getelementptr %ST, %ST* %s, i32 1, i64 2, i32 1, i32 5, i32 13
-  ret i32* %reg
+  %reg = getelementptr %ST, ptr %s, i32 1, i64 2, i32 1, i32 5, i32 13
+  ret ptr %reg
 }
 

diff  --git a/llvm/test/Assembler/getelementptr_vec_ce.ll b/llvm/test/Assembler/getelementptr_vec_ce.ll
index 67029698bfc5..2b0d462fec9b 100644
--- a/llvm/test/Assembler/getelementptr_vec_ce.ll
+++ b/llvm/test/Assembler/getelementptr_vec_ce.ll
@@ -3,7 +3,7 @@
 @G = global [4 x i32] zeroinitializer
 
 ; CHECK-LABEL: @foo
-; CHECK: ret <4 x i32*> getelementptr inbounds ([4 x i32], [4 x i32]* @G, <4 x i32> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>)
-define <4 x i32*> @foo() {
-  ret <4 x i32*> getelementptr ([4 x i32], [4 x i32]* @G, i32 0, <4 x i32> <i32 0, i32 1, i32 2, i32 3>)
+; CHECK: ret <4 x ptr> getelementptr inbounds ([4 x i32], ptr @G, <4 x i32> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>)
+define <4 x ptr> @foo() {
+  ret <4 x ptr> getelementptr ([4 x i32], ptr @G, i32 0, <4 x i32> <i32 0, i32 1, i32 2, i32 3>)
 }

diff  --git a/llvm/test/Assembler/getelementptr_vec_ce2.ll b/llvm/test/Assembler/getelementptr_vec_ce2.ll
index 06362c8b3f69..c0dfffb01dd9 100644
--- a/llvm/test/Assembler/getelementptr_vec_ce2.ll
+++ b/llvm/test/Assembler/getelementptr_vec_ce2.ll
@@ -3,6 +3,6 @@
 @G = global [4 x [4 x i32]] zeroinitializer
 
 ; CHECK: getelementptr vector index has a wrong number of elements
-define <4 x i32*> @foo() {
-  ret <4 x i32*> getelementptr ([4 x [4 x i32]], [4 x [4 x i32]]* @G, i32 0, <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <8 x i32> zeroinitializer)
+define <4 x ptr> @foo() {
+  ret <4 x ptr> getelementptr ([4 x [4 x i32]], ptr @G, i32 0, <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <8 x i32> zeroinitializer)
 }

diff  --git a/llvm/test/Assembler/getelementptr_vec_idx1.ll b/llvm/test/Assembler/getelementptr_vec_idx1.ll
index 12160574d4e5..69b13b4f3356 100644
--- a/llvm/test/Assembler/getelementptr_vec_idx1.ll
+++ b/llvm/test/Assembler/getelementptr_vec_idx1.ll
@@ -2,9 +2,9 @@
 ; RUN: FileCheck %s < %t
 ; Test that a vector GEP may be used with a scalar base, the result is a vector of pointers
 
-; CHECK: '%w' defined with type '<2 x i32*>
+; CHECK: '%w' defined with type '<2 x ptr>
 
-define i32 @test(i32* %a) {
-  %w = getelementptr i32, i32* %a, <2 x i32> <i32 5, i32 9>
+define i32 @test(ptr %a) {
+  %w = getelementptr i32, ptr %a, <2 x i32> <i32 5, i32 9>
   ret i32 %w
 }

diff  --git a/llvm/test/Assembler/getelementptr_vec_idx2.ll b/llvm/test/Assembler/getelementptr_vec_idx2.ll
index be294098c9eb..959d5a388883 100644
--- a/llvm/test/Assembler/getelementptr_vec_idx2.ll
+++ b/llvm/test/Assembler/getelementptr_vec_idx2.ll
@@ -4,21 +4,21 @@
 ; Test that a vector pointer and vector index should have the same vector width
 
 ; This code is correct
-define <2 x i32*> @test2(<2 x i32*> %a) {
-  %w = getelementptr i32, <2 x i32*> %a, i32 2
-  ret <2 x i32*> %w
+define <2 x ptr> @test2(<2 x ptr> %a) {
+  %w = getelementptr i32, <2 x ptr> %a, i32 2
+  ret <2 x ptr> %w
 }
 
 ; This code is correct
-define <2 x i32*> @test3(i32* %a) {
-  %w = getelementptr i32, i32* %a, <2 x i32> <i32 2, i32 2>
-  ret <2 x i32*> %w
+define <2 x ptr> @test3(ptr %a) {
+  %w = getelementptr i32, ptr %a, <2 x i32> <i32 2, i32 2>
+  ret <2 x ptr> %w
 }
 
 ; CHECK: getelementptr vector index has a wrong number of elements
 
-define <2 x i32> @test1(<2 x i32*> %a) {
-  %w = getelementptr i32, <2 x i32*> %a, <4 x i32><i32 2, i32 2, i32 2, i32 2>
+define <2 x i32> @test1(<2 x ptr> %a) {
+  %w = getelementptr i32, <2 x ptr> %a, <4 x i32><i32 2, i32 2, i32 2, i32 2>
   ret <2 x i32> %w
 }
 

diff  --git a/llvm/test/Assembler/getelementptr_vec_idx3.ll b/llvm/test/Assembler/getelementptr_vec_idx3.ll
index 767c817cc629..b55d86b5088b 100644
--- a/llvm/test/Assembler/getelementptr_vec_idx3.ll
+++ b/llvm/test/Assembler/getelementptr_vec_idx3.ll
@@ -2,9 +2,9 @@
 ; RUN: FileCheck %s < %t
 ; Test that a vector GEP may be used with a scalar base, the result is a vector of pointers
 
-; CHECK: '%w' defined with type '<2 x <4 x i32>*>'
+; CHECK: '%w' defined with type '<2 x ptr>'
 
-define <4 x i32> @test(<4 x i32>* %a) {
-  %w = getelementptr <4 x i32>, <4 x i32>* %a, <2 x i32> <i32 5, i32 9>
+define <4 x i32> @test(ptr %a) {
+  %w = getelementptr <4 x i32>, ptr %a, <2 x i32> <i32 5, i32 9>
   ret i32 %w
 }

diff  --git a/llvm/test/Assembler/getelementptr_vec_idx4.ll b/llvm/test/Assembler/getelementptr_vec_idx4.ll
index c6f37ab69a0c..c0c5e5319d10 100644
--- a/llvm/test/Assembler/getelementptr_vec_idx4.ll
+++ b/llvm/test/Assembler/getelementptr_vec_idx4.ll
@@ -2,4 +2,4 @@
 
 ; CHECK: getelementptr vector index has a wrong number of elements
 
- at 0 = global <2 x i32*> getelementptr ([3 x {i32, i32}], <4 x [3 x {i32, i32}]*> zeroinitializer, <2 x i32> <i32 1, i32 2>, <2 x i32> <i32 2, i32 3>, <2 x i32> <i32 1, i32 1>)
+ at 0 = global <2 x ptr> getelementptr ([3 x {i32, i32}], <4 x ptr> zeroinitializer, <2 x i32> <i32 1, i32 2>, <2 x i32> <i32 2, i32 3>, <2 x i32> <i32 1, i32 1>)

diff  --git a/llvm/test/Assembler/getelementptr_vec_struct.ll b/llvm/test/Assembler/getelementptr_vec_struct.ll
index 493da6686a91..59daf0f8efa0 100644
--- a/llvm/test/Assembler/getelementptr_vec_struct.ll
+++ b/llvm/test/Assembler/getelementptr_vec_struct.ll
@@ -4,7 +4,7 @@
 
 ; CHECK: invalid getelementptr indices
 
-define <2 x i32*> @test7(<2 x {i32, i32}*> %a) {
-  %w = getelementptr {i32, i32}, <2 x {i32, i32}*> %a, <2 x i32> <i32 5, i32 9>, <2 x i32> <i32 0, i32 1>
-  ret <2 x i32*> %w
+define <2 x ptr> @test7(<2 x ptr> %a) {
+  %w = getelementptr {i32, i32}, <2 x ptr> %a, <2 x i32> <i32 5, i32 9>, <2 x i32> <i32 0, i32 1>
+  ret <2 x ptr> %w
 }

diff  --git a/llvm/test/Assembler/getelementptr_vscale_struct.ll b/llvm/test/Assembler/getelementptr_vscale_struct.ll
index c6b592c0bf8b..3955453894a6 100644
--- a/llvm/test/Assembler/getelementptr_vscale_struct.ll
+++ b/llvm/test/Assembler/getelementptr_vscale_struct.ll
@@ -4,7 +4,7 @@
 
 ; CHECK: invalid getelementptr indices
 
-define <vscale x 2 x i32*> @test7(<vscale x 2 x {i32, i32}*> %a) {
-  %w = getelementptr {i32, i32}, <vscale x 2 x {i32, i32}*> %a, <vscale x 2 x i32> zeroinitializer, <vscale x 2 x i32> zeroinitializer
-  ret <vscale x 2 x i32*> %w
+define <vscale x 2 x ptr> @test7(<vscale x 2 x ptr> %a) {
+  %w = getelementptr {i32, i32}, <vscale x 2 x ptr> %a, <vscale x 2 x i32> zeroinitializer, <vscale x 2 x i32> zeroinitializer
+  ret <vscale x 2 x ptr> %w
 }

diff  --git a/llvm/test/Assembler/global-addrspace-forwardref.ll b/llvm/test/Assembler/global-addrspace-forwardref.ll
index c66b5b73066f..da81bcfb17f8 100644
--- a/llvm/test/Assembler/global-addrspace-forwardref.ll
+++ b/llvm/test/Assembler/global-addrspace-forwardref.ll
@@ -3,16 +3,16 @@
 
 ; Make sure the address space of forward decls is preserved
 
-; CHECK: @a2 = global i8 addrspace(1)* @a
+; CHECK: @a2 = global ptr addrspace(1) @a
 ; CHECK: @a = addrspace(1) global i8 0
- at a2 = global i8 addrspace(1)* @a
+ at a2 = global ptr addrspace(1) @a
 @a = addrspace(1) global i8 0
 
 ; Now test with global IDs instead of global names.
 
-; CHECK: @a3 = global i8 addrspace(1)* @0
+; CHECK: @a3 = global ptr addrspace(1) @0
 ; CHECK: @0 = addrspace(1) global i8 0
 
- at a3 = global i8 addrspace(1)* @0
+ at a3 = global ptr addrspace(1) @0
 @0 = addrspace(1) global i8 0
 

diff  --git a/llvm/test/Assembler/half-constprop.ll b/llvm/test/Assembler/half-constprop.ll
index 7ca876b3c71f..d26545d5584e 100644
--- a/llvm/test/Assembler/half-constprop.ll
+++ b/llvm/test/Assembler/half-constprop.ll
@@ -7,10 +7,10 @@ entry:
   %a = alloca half, align 2
   %b = alloca half, align 2
   %.compoundliteral = alloca float, align 4
-  store half 0xH4200, half* %a, align 2
-  store half 0xH4B9A, half* %b, align 2
-  %tmp = load half, half* %a, align 2
-  %tmp1 = load half, half* %b, align 2
+  store half 0xH4200, ptr %a, align 2
+  store half 0xH4B9A, ptr %b, align 2
+  %tmp = load half, ptr %a, align 2
+  %tmp1 = load half, ptr %b, align 2
   %add = fadd half %tmp, %tmp1
 ; CHECK: 0xH4C8D
   ret half %add

diff  --git a/llvm/test/Assembler/half-conv.ll b/llvm/test/Assembler/half-conv.ll
index 657550154af4..219c5b065611 100644
--- a/llvm/test/Assembler/half-conv.ll
+++ b/llvm/test/Assembler/half-conv.ll
@@ -6,8 +6,8 @@ define float @abc() nounwind {
 entry:
   %a = alloca half, align 2
   %.compoundliteral = alloca float, align 4
-  store half 0xH4C8D, half* %a, align 2
-  %tmp = load half, half* %a, align 2
+  store half 0xH4C8D, ptr %a, align 2
+  %tmp = load half, ptr %a, align 2
   %conv = fpext half %tmp to float
 ; CHECK: 0x4032340000000000
   ret float %conv

diff  --git a/llvm/test/Assembler/huge-array.ll b/llvm/test/Assembler/huge-array.ll
index 6f89e83bf5e0..dab4a7521394 100644
--- a/llvm/test/Assembler/huge-array.ll
+++ b/llvm/test/Assembler/huge-array.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
 ; RUN: verify-uselistorder %s
 
-; CHECK: define [18446744073709551615 x i8]* @foo() {
-; CHECK: ret [18446744073709551615 x i8]* null
-define [18446744073709551615 x i8]* @foo() {
-  ret [18446744073709551615 x i8]* null
+; CHECK: define ptr @foo() {
+; CHECK: ret ptr null
+define ptr @foo() {
+  ret ptr null
 }

diff  --git a/llvm/test/Assembler/ifunc-asm.ll b/llvm/test/Assembler/ifunc-asm.ll
index e32587fdc25a..e6be1897b413 100644
--- a/llvm/test/Assembler/ifunc-asm.ll
+++ b/llvm/test/Assembler/ifunc-asm.ll
@@ -2,20 +2,20 @@
 
 target triple = "x86_64-unknown-linux-gnu"
 
- at foo = ifunc i32 (i32), i32 (i32)* ()* @foo_ifunc
-; CHECK: @foo = ifunc i32 (i32), i32 (i32)* ()* @foo_ifunc
+ at foo = ifunc i32 (i32), ptr @foo_ifunc
+; CHECK: @foo = ifunc i32 (i32), ptr @foo_ifunc
 
- at strlen = ifunc i64 (i8*), bitcast (i64 (i32*)* ()* @mistyped_strlen_resolver to i64 (i8*)* ()*)
-; CHECK: strlen = ifunc i64 (i8*), bitcast (i64 (i32*)* ()* @mistyped_strlen_resolver to i64 (i8*)* ()*)
+ at strlen = ifunc i64 (ptr), ptr @mistyped_strlen_resolver
+; CHECK: strlen = ifunc i64 (ptr), ptr @mistyped_strlen_resolver
 
-define internal i32 (i32)* @foo_ifunc() {
+define internal ptr @foo_ifunc() {
 entry:
-  ret i32 (i32)* null
+  ret ptr null
 }
-; CHECK: define internal i32 (i32)* @foo_ifunc()
+; CHECK: define internal ptr @foo_ifunc()
 
-define internal i64 (i32*)* @mistyped_strlen_resolver() {
+define internal ptr @mistyped_strlen_resolver() {
 entry:
-  ret i64 (i32*)* null
+  ret ptr null
 }
-; CHECK: define internal i64 (i32*)* @mistyped_strlen_resolver()
+; CHECK: define internal ptr @mistyped_strlen_resolver()

diff  --git a/llvm/test/Assembler/ifunc-dsolocal.ll b/llvm/test/Assembler/ifunc-dsolocal.ll
index f8e2c3af1500..40819dc49bdf 100644
--- a/llvm/test/Assembler/ifunc-dsolocal.ll
+++ b/llvm/test/Assembler/ifunc-dsolocal.ll
@@ -1,9 +1,9 @@
 ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
 
- at foo = dso_local ifunc i32 (i32), i32 (i32)* ()* @foo_ifunc
-; CHECK: @foo = dso_local ifunc i32 (i32), i32 (i32)* ()* @foo_ifunc
+ at foo = dso_local ifunc i32 (i32), ptr @foo_ifunc
+; CHECK: @foo = dso_local ifunc i32 (i32), ptr @foo_ifunc
 
-define internal i32 (i32)* @foo_ifunc() {
+define internal ptr @foo_ifunc() {
 entry:
-  ret i32 (i32)* null
+  ret ptr null
 }

diff  --git a/llvm/test/Assembler/ifunc-use-list-order.ll b/llvm/test/Assembler/ifunc-use-list-order.ll
index 167406a3be25..234e1b023dde 100644
--- a/llvm/test/Assembler/ifunc-use-list-order.ll
+++ b/llvm/test/Assembler/ifunc-use-list-order.ll
@@ -1,16 +1,16 @@
 ; RUN: verify-uselistorder < %s
 
 ; Global referencing ifunc.
- at ptr_foo = global void ()* @foo_ifunc
+ at ptr_foo = global ptr @foo_ifunc
 
 ; Alias for ifunc.
- at alias_foo = alias void (), void ()* @foo_ifunc
+ at alias_foo = alias void (), ptr @foo_ifunc
 
- at foo_ifunc = ifunc void (), void ()* ()* @foo_resolver
+ at foo_ifunc = ifunc void (), ptr @foo_resolver
 
-define void ()* @foo_resolver() {
+define ptr @foo_resolver() {
 entry:
-  ret void ()* null
+  ret ptr null
 }
 
 ; Function referencing ifunc.
@@ -21,16 +21,16 @@ entry:
 }
 
 ; Global referencing function.
- at ptr_bar = global void ()* @bar
+ at ptr_bar = global ptr @bar
 
 ; Alias for function.
- at alias_bar = alias void (), void ()* @bar
+ at alias_bar = alias void (), ptr @bar
 
- at bar_ifunc = ifunc void (), void ()* ()* @bar_resolver
+ at bar_ifunc = ifunc void (), ptr @bar_resolver
 
-define void ()* @bar_resolver() {
+define ptr @bar_resolver() {
 entry:
-  ret void ()* null
+  ret ptr null
 }
 
 ; Function referencing bar.

diff  --git a/llvm/test/Assembler/immarg-param-attribute.ll b/llvm/test/Assembler/immarg-param-attribute.ll
index 66ea03a746bb..940d1a7c0286 100644
--- a/llvm/test/Assembler/immarg-param-attribute.ll
+++ b/llvm/test/Assembler/immarg-param-attribute.ll
@@ -21,7 +21,7 @@ define void @call_llvm.test.immarg.intrinsic.i32() {
   call void @llvm.test.immarg.intrinsic.i32(i32 add (i32 2, i32 3))
 
   ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 0)
-  call void @llvm.test.immarg.intrinsic.i32(i32 ptrtoint (i32* null to i32))
+  call void @llvm.test.immarg.intrinsic.i32(i32 ptrtoint (ptr null to i32))
   ret void
 }
 

diff  --git a/llvm/test/Assembler/inalloca-parse-error0.ll b/llvm/test/Assembler/inalloca-parse-error0.ll
index 24fe82baaeff..142fd95db96d 100644
--- a/llvm/test/Assembler/inalloca-parse-error0.ll
+++ b/llvm/test/Assembler/inalloca-parse-error0.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:40: error: expected '('{{$}}
-define void @test_inalloca(i8* inalloca) {
+define void @test_inalloca(ptr inalloca) {
   ret void
 }

diff  --git a/llvm/test/Assembler/insertvalue-invalid-type.ll b/llvm/test/Assembler/insertvalue-invalid-type.ll
index 6be20e56a4f2..9c069d58a324 100644
--- a/llvm/test/Assembler/insertvalue-invalid-type.ll
+++ b/llvm/test/Assembler/insertvalue-invalid-type.ll
@@ -1,9 +1,9 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-; CHECK: insertvalue operand and field disagree in type: 'i8*' instead of 'i32'
+; CHECK: insertvalue operand and field disagree in type: 'ptr' instead of 'i32'
 
 define void @test() {
 entry:
-  insertvalue { i32, i32 } undef, i8* null, 0
+  insertvalue { i32, i32 } undef, ptr null, 0
   ret void
 }

diff  --git a/llvm/test/Assembler/internal-hidden-alias.ll b/llvm/test/Assembler/internal-hidden-alias.ll
index f5bf4fb869e4..e51bef24a548 100644
--- a/llvm/test/Assembler/internal-hidden-alias.ll
+++ b/llvm/test/Assembler/internal-hidden-alias.ll
@@ -2,5 +2,5 @@
 
 @global = global i32 0
 
- at alias = internal hidden alias i32, i32* @global
+ at alias = internal hidden alias i32, ptr @global
 ; CHECK: symbol with local linkage must have default visibility

diff  --git a/llvm/test/Assembler/internal-protected-alias.ll b/llvm/test/Assembler/internal-protected-alias.ll
index 37e90a0de1c3..69db88721329 100644
--- a/llvm/test/Assembler/internal-protected-alias.ll
+++ b/llvm/test/Assembler/internal-protected-alias.ll
@@ -2,5 +2,5 @@
 
 @global = global i32 0
 
- at alias = internal protected alias i32, i32* @global
+ at alias = internal protected alias i32, ptr @global
 ; CHECK: symbol with local linkage must have default visibility

diff  --git a/llvm/test/Assembler/invalid-alias-mismatched-explicit-type.ll b/llvm/test/Assembler/invalid-alias-mismatched-explicit-type.ll
deleted file mode 100644
index 36be49def7ce..000000000000
--- a/llvm/test/Assembler/invalid-alias-mismatched-explicit-type.ll
+++ /dev/null
@@ -1,4 +0,0 @@
-; RUN: not llvm-as < %s 2>&1 | FileCheck %s
-; CHECK: <stdin>:4:12: error: explicit pointee type doesn't match operand's pointee type (i1 vs i2)
- at y = global i2 0
- at x = alias i1, i2* @y

diff  --git a/llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll b/llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
index 1fc00b0b90d7..5f2f67cdc782 100644
--- a/llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
+++ b/llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
 
 ; CHECK: error: atomicrmw add operand must be an integer
-define void @f(float* %ptr) {
-  atomicrmw add float* %ptr, float 1.0 seq_cst
+define void @f(ptr %ptr) {
+  atomicrmw add ptr %ptr, float 1.0 seq_cst
   ret void
 }

diff  --git a/llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll b/llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
index 3185d9505db9..1088333625d9 100644
--- a/llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
+++ b/llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
 
 ; CHECK: error: atomicrmw fadd operand must be a floating point type
-define void @f(i32* %ptr) {
-  atomicrmw fadd i32* %ptr, i32 2 seq_cst
+define void @f(ptr %ptr) {
+  atomicrmw fadd ptr %ptr, i32 2 seq_cst
   ret void
 }

diff  --git a/llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll b/llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
index cd5bd4beff57..f02cdde4b8ca 100644
--- a/llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
+++ b/llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s
 
 ; CHECK: error: atomicrmw fsub operand must be a floating point type
-define void @f(i32* %ptr) {
-  atomicrmw fsub i32* %ptr, i32 2 seq_cst
+define void @f(ptr %ptr) {
+  atomicrmw fsub ptr %ptr, i32 2 seq_cst
   ret void
 }

diff  --git a/llvm/test/Assembler/invalid-byval-type1.ll b/llvm/test/Assembler/invalid-byval-type1.ll
deleted file mode 100644
index 236790e11428..000000000000
--- a/llvm/test/Assembler/invalid-byval-type1.ll
+++ /dev/null
@@ -1,4 +0,0 @@
-; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
-
-; CHECK: Attribute 'byval' type does not match parameter!
-declare void @foo(i32* byval(i8))

diff  --git a/llvm/test/Assembler/invalid-byval-type2.ll b/llvm/test/Assembler/invalid-byval-type2.ll
index 3ca0d5e7c4c2..879375a42e8b 100644
--- a/llvm/test/Assembler/invalid-byval-type2.ll
+++ b/llvm/test/Assembler/invalid-byval-type2.ll
@@ -1,4 +1,4 @@
 ; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
 
 ; CHECK: error: void type only allowed for function results
-declare void @foo(i32* byval(void))
+declare void @foo(ptr byval(void))

diff  --git a/llvm/test/Assembler/invalid-byval-type3.ll b/llvm/test/Assembler/invalid-byval-type3.ll
index b62fb5354a5b..f38ef687e74d 100644
--- a/llvm/test/Assembler/invalid-byval-type3.ll
+++ b/llvm/test/Assembler/invalid-byval-type3.ll
@@ -1,4 +1,4 @@
 ; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
 
 ; CHECK: Attribute 'byval' does not support unsized types!
-declare void @foo(void()* byval(void()))
+declare void @foo(ptr byval(void()))

diff  --git a/llvm/test/Assembler/invalid-fwdref1.ll b/llvm/test/Assembler/invalid-fwdref1.ll
deleted file mode 100644
index ef8b16cadceb..000000000000
--- a/llvm/test/Assembler/invalid-fwdref1.ll
+++ /dev/null
@@ -1,4 +0,0 @@
-; RUN: not llvm-as %s -disable-output 2>&1 | grep "invalid forward reference to function as global value!"
-
-define i8* @test1() { ret i8* @test1a }
-define void @test1a() { }

diff  --git a/llvm/test/Assembler/invalid-fwdref2.ll b/llvm/test/Assembler/invalid-fwdref2.ll
deleted file mode 100644
index 0828cd9b08ac..000000000000
--- a/llvm/test/Assembler/invalid-fwdref2.ll
+++ /dev/null
@@ -1,4 +0,0 @@
-; RUN: not llvm-as %s -disable-output 2>&1 | grep "forward reference and definition of global have 
diff erent types"
-
- at a2 = alias void (), void ()* @g2
- at g2 = internal global i8 42

diff  --git a/llvm/test/Assembler/invalid-gep-mismatched-explicit-type.ll b/llvm/test/Assembler/invalid-gep-mismatched-explicit-type.ll
deleted file mode 100644
index c9de924384b1..000000000000
--- a/llvm/test/Assembler/invalid-gep-mismatched-explicit-type.ll
+++ /dev/null
@@ -1,6 +0,0 @@
-; RUN: not llvm-as < %s 2>&1 | FileCheck %s
-; CHECK: <stdin>:4:22: error: explicit pointee type doesn't match operand's pointee type (i16 vs i32)
-define void @test(i32* %t) {
-  %x = getelementptr i16, i32* %t, i32 0
-  ret void
-}

diff  --git a/llvm/test/Assembler/invalid-gep-missing-explicit-type.ll b/llvm/test/Assembler/invalid-gep-missing-explicit-type.ll
index 6f7281abb951..df20dc96575b 100644
--- a/llvm/test/Assembler/invalid-gep-missing-explicit-type.ll
+++ b/llvm/test/Assembler/invalid-gep-missing-explicit-type.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
-; CHECK: <stdin>:4:27: error: expected comma after getelementptr's type
-define void @test(i32* %t) {
-  %x = getelementptr i32* %t, i32 0
+; CHECK: <stdin>:4:26: error: expected comma after getelementptr's type
+define void @test(ptr %t) {
+  %x = getelementptr ptr %t, i32 0
   ret void
 }
 

diff  --git a/llvm/test/Assembler/invalid-immarg.ll b/llvm/test/Assembler/invalid-immarg.ll
index 023a528ea7bb..eac48129c475 100644
--- a/llvm/test/Assembler/invalid-immarg.ll
+++ b/llvm/test/Assembler/invalid-immarg.ll
@@ -1,19 +1,19 @@
 ; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.byval(i32* byval(i32) immarg)
+declare void @llvm.immarg.byval(ptr byval(i32) immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.inalloca(i32* inalloca(i32) immarg)
+declare void @llvm.immarg.inalloca(ptr inalloca(i32) immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
 declare void @llvm.immarg.inreg(i32 inreg immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.nest(i32* nest immarg)
+declare void @llvm.immarg.nest(ptr nest immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.sret(i32* sret(i32) immarg)
+declare void @llvm.immarg.sret(ptr sret(i32) immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
 declare void @llvm.immarg.zeroext(i32 zeroext immarg)
@@ -25,10 +25,10 @@ declare void @llvm.immarg.signext(i32 signext immarg)
 declare void @llvm.immarg.returned(i32 returned immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.noalias(i32* noalias immarg)
+declare void @llvm.immarg.noalias(ptr noalias immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.readnone(i32* readnone immarg)
+declare void @llvm.immarg.readnone(ptr readnone immarg)
 
 ; CHECK: Attribute 'immarg' is incompatible with other attributes
-declare void @llvm.immarg.readonly(i32* readonly immarg)
+declare void @llvm.immarg.readonly(ptr readonly immarg)

diff  --git a/llvm/test/Assembler/invalid-landingpad.ll b/llvm/test/Assembler/invalid-landingpad.ll
index 44bf8db17687..306e94312dd5 100644
--- a/llvm/test/Assembler/invalid-landingpad.ll
+++ b/llvm/test/Assembler/invalid-landingpad.ll
@@ -2,6 +2,6 @@
 
 ; CHECK: clause argument must be a constant
 
-define void @test(i32 %in) personality void()* null {
+define void @test(i32 %in) personality ptr null {
   landingpad {} filter i32 %in
 }

diff  --git a/llvm/test/Assembler/invalid-load-mismatched-explicit-type.ll b/llvm/test/Assembler/invalid-load-mismatched-explicit-type.ll
deleted file mode 100644
index f199bea6c333..000000000000
--- a/llvm/test/Assembler/invalid-load-mismatched-explicit-type.ll
+++ /dev/null
@@ -1,6 +0,0 @@
-; RUN: not llvm-as < %s 2>&1 | FileCheck %s
-; CHECK: <stdin>:4:13: error: explicit pointee type doesn't match operand's pointee type (i16 vs i32)
-define void @test(i32* %t) {
-  %x = load i16, i32* %t
-  ret void
-}

diff  --git a/llvm/test/Assembler/invalid-load-missing-explicit-type.ll b/llvm/test/Assembler/invalid-load-missing-explicit-type.ll
index 455498e3d15d..8648df5358e6 100644
--- a/llvm/test/Assembler/invalid-load-missing-explicit-type.ll
+++ b/llvm/test/Assembler/invalid-load-missing-explicit-type.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
-; CHECK: <stdin>:4:18: error: expected comma after load's type
-define void @test(i32* %t) {
-  %x = load i32* %t
+; CHECK: <stdin>:4:17: error: expected comma after load's type
+define void @test(ptr %t) {
+  %x = load ptr %t
   ret void
 }

diff  --git a/llvm/test/Assembler/invalid-untyped-metadata.ll b/llvm/test/Assembler/invalid-untyped-metadata.ll
index 5a97ae659648..b20bc61b3d5f 100644
--- a/llvm/test/Assembler/invalid-untyped-metadata.ll
+++ b/llvm/test/Assembler/invalid-untyped-metadata.ll
@@ -3,4 +3,4 @@
 ; Tests bug: https://llvm.org/bugs/show_bug.cgi?id=24645
 ; CHECK: error: invalid type for inline asm constraint string
 
-     !3=!    {%..d04 *asm" !6!={!H)4" ,""  
+     !3=!    {ptr asm" !6!={!H)4" ,""  

diff  --git a/llvm/test/Assembler/invalid-uselistorder-global-missing.ll b/llvm/test/Assembler/invalid-uselistorder-global-missing.ll
index 92f9350d29df..867608624bb6 100644
--- a/llvm/test/Assembler/invalid-uselistorder-global-missing.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-global-missing.ll
@@ -1,3 +1,3 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: value has no uses
-uselistorder i32* @global, { 1, 0 }
+uselistorder ptr @global, { 1, 0 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-duplicated.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-duplicated.ll
index 4ab4fbdfcce9..73dbc9aa83d3 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-duplicated.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-duplicated.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: expected distinct uselistorder indexes in range [0, size)
 @global = global i32 0
- at alias1 = alias i32, i32* @global
- at alias2 = alias i32, i32* @global
- at alias3 = alias i32, i32* @global
-uselistorder i32* @global, { 0, 0, 2 }
+ at alias1 = alias i32, ptr @global
+ at alias2 = alias i32, ptr @global
+ at alias3 = alias i32, ptr @global
+uselistorder ptr @global, { 0, 0, 2 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-empty.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-empty.ll
index 82bbc97aafe0..b883e9c129d1 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-empty.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-empty.ll
@@ -1,4 +1,4 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: value has no uses
 @global = global i32 0
-uselistorder i32* @global, { 1, 0 }
+uselistorder ptr @global, { 1, 0 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-one.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-one.ll
index f61809f7fea2..9ca6031c334e 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-one.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-one.ll
@@ -1,5 +1,5 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: value only has one use
 @global = global i32 0
- at alias = alias i32, i32* @global
-uselistorder i32* @global, { 1, 0 }
+ at alias = alias i32, ptr @global
+uselistorder ptr @global, { 1, 0 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-ordered.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-ordered.ll
index e7a17b0e3abe..59d6ab152455 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-ordered.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-ordered.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: expected uselistorder indexes to change the order
 @global = global i32 0
- at alias1 = alias i32, i32* @global
- at alias2 = alias i32, i32* @global
- at alias3 = alias i32, i32* @global
-uselistorder i32* @global, { 0, 1, 2 }
+ at alias1 = alias i32, ptr @global
+ at alias2 = alias i32, ptr @global
+ at alias3 = alias i32, ptr @global
+uselistorder ptr @global, { 0, 1, 2 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-range.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-range.ll
index 7c3ab116bd81..c82ce5f36fe9 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-range.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-range.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: expected distinct uselistorder indexes in range [0, size)
 @global = global i32 0
- at alias1 = alias i32, i32* @global
- at alias2 = alias i32, i32* @global
- at alias3 = alias i32, i32* @global
-uselistorder i32* @global, { 0, 3, 1 }
+ at alias1 = alias i32, ptr @global
+ at alias2 = alias i32, ptr @global
+ at alias3 = alias i32, ptr @global
+uselistorder ptr @global, { 0, 3, 1 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-toofew.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-toofew.ll
index fd9ff8029f9a..6126ea836d47 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-toofew.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-toofew.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: wrong number of indexes, expected 3
 @global = global i32 0
- at alias1 = alias i32, i32* @global
- at alias2 = alias i32, i32* @global
- at alias3 = alias i32, i32* @global
-uselistorder i32* @global, { 1, 0 }
+ at alias1 = alias i32, ptr @global
+ at alias2 = alias i32, ptr @global
+ at alias3 = alias i32, ptr @global
+uselistorder ptr @global, { 1, 0 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-indexes-toomany.ll b/llvm/test/Assembler/invalid-uselistorder-indexes-toomany.ll
index ba8481d61aa6..6e68edf336fc 100644
--- a/llvm/test/Assembler/invalid-uselistorder-indexes-toomany.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-indexes-toomany.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: wrong number of indexes, expected 2
 @global = global i32 0
- at alias1 = alias i32, i32* @global
- at alias2 = alias i32, i32* @global
-uselistorder i32* @global, { 1, 0, 2 }
+ at alias1 = alias i32, ptr @global
+ at alias2 = alias i32, ptr @global
+uselistorder ptr @global, { 1, 0, 2 }

diff  --git a/llvm/test/Assembler/invalid-uselistorder-type.ll b/llvm/test/Assembler/invalid-uselistorder-type.ll
index e426a7d22f22..a574078cd794 100644
--- a/llvm/test/Assembler/invalid-uselistorder-type.ll
+++ b/llvm/test/Assembler/invalid-uselistorder-type.ll
@@ -1,4 +1,7 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
-; CHECK: error: '@global' defined with type 'i32*'
- at global = global i32 0
-uselistorder i31* @global, { 1, 0 }
+; CHECK: error: '%x' defined with type 'i32' but expected 'float'
+define void @test(i32 %x) {
+  ret void
+
+  uselistorder float %x, { 1, 0 }
+}

diff  --git a/llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll b/llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
index d7d170f769ff..92e5b3c876d1 100644
--- a/llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
+++ b/llvm/test/Assembler/invalid-uselistorder_bb-numbered.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 ; CHECK: error: invalid numeric label in uselistorder_bb
 
- at ba1 = constant i8* blockaddress (@foo, %1)
+ at ba1 = constant ptr blockaddress (@foo, %1)
 
 define void @foo() {
   br label %1

diff  --git a/llvm/test/Assembler/invalid_cast3.ll b/llvm/test/Assembler/invalid_cast3.ll
index cc956cee59a1..2127727f3bb5 100644
--- a/llvm/test/Assembler/invalid_cast3.ll
+++ b/llvm/test/Assembler/invalid_cast3.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-; CHECK: invalid cast opcode for cast from '<4 x i32*>' to '<2 x i32*>'
-define <2 x i32*> @illegal_vector_pointer_bitcast_num_elements(<4 x i32*> %c) {
-  %bc = bitcast <4 x i32*> %c to <2 x i32*>
-  ret <2 x i32*> %bc
+; CHECK: invalid cast opcode for cast from '<4 x ptr>' to '<2 x ptr>'
+define <2 x ptr> @illegal_vector_pointer_bitcast_num_elements(<4 x ptr> %c) {
+  %bc = bitcast <4 x ptr> %c to <2 x ptr>
+  ret <2 x ptr> %bc
 }

diff  --git a/llvm/test/Assembler/invalid_cast4.ll b/llvm/test/Assembler/invalid_cast4.ll
index 4443888dbeae..af7ea02f424d 100644
--- a/llvm/test/Assembler/invalid_cast4.ll
+++ b/llvm/test/Assembler/invalid_cast4.ll
@@ -1,4 +1,4 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: invalid cast opcode for cast from 'i64' to 'i64'
- at 0 = global i64* inttoptr (i64 0 to i64)
+ at 0 = global ptr inttoptr (i64 0 to i64)

diff  --git a/llvm/test/Assembler/invoke-nonzero-program-addrspace.ll b/llvm/test/Assembler/invoke-nonzero-program-addrspace.ll
index a3f70aec30d0..82d2a0179f9f 100644
--- a/llvm/test/Assembler/invoke-nonzero-program-addrspace.ll
+++ b/llvm/test/Assembler/invoke-nonzero-program-addrspace.ll
@@ -4,16 +4,16 @@
 
 ; Check that variables in a nonzero program address space 200 can be used in a invoke instruction
 
-define i8 @test_invoke(i8(i32)* %fnptr0, i8(i32) addrspace(200)* %fnptr200) personality i32 (...) addrspace(200)* @__gxx_personality_v0 {
+define i8 @test_invoke(ptr %fnptr0, ptr addrspace(200) %fnptr200) personality ptr addrspace(200) @__gxx_personality_v0 {
   %explicit_as_0 = invoke addrspace(0) i8 %fnptr0(i32 0) to label %ok unwind label %lpad
   %explicit_as_42 = invoke addrspace(200) i8 %fnptr200(i32 0) to label %ok unwind label %lpad
   ; The following is only okay if the program address space is 200:
   %no_as = invoke i8 %fnptr200(i32 0) to label %ok unwind label %lpad
-  ; CHECK: invoke-nonzero-program-addrspace.ll:[[@LINE-1]]:22: error: '%fnptr200' defined with type 'i8 (i32) addrspace(200)*' but expected 'i8 (i32)*'
+  ; CHECK: invoke-nonzero-program-addrspace.ll:[[@LINE-1]]:22: error: '%fnptr200' defined with type 'ptr addrspace(200)' but expected 'ptr'
 ok:
   ret i8 0
 lpad:
-    %exn = landingpad {i8*, i32}
+    %exn = landingpad {ptr, i32}
             cleanup
     unreachable
 }
@@ -22,7 +22,7 @@ declare i32 @__gxx_personality_v0(...)
 
 
 ; PROGAS200:  target datalayout = "P200"
-; PROGAS200:  define i8 @test_invoke(i8 (i32)* %fnptr0, i8 (i32) addrspace(200)* %fnptr200) addrspace(200) personality i32 (...) addrspace(200)* @__gxx_personality_v0 {
+; PROGAS200:  define i8 @test_invoke(ptr %fnptr0, ptr addrspace(200) %fnptr200) addrspace(200) personality ptr addrspace(200) @__gxx_personality_v0 {
 ; PROGAS200:    %explicit_as_0 = invoke addrspace(0) i8 %fnptr0(i32 0)
 ; PROGAS200:    %explicit_as_42 = invoke addrspace(200) i8 %fnptr200(i32 0)
 ; PROGAS200:    %no_as = invoke addrspace(200) i8 %fnptr200(i32 0)

diff  --git a/llvm/test/Assembler/local-unnamed-addr.ll b/llvm/test/Assembler/local-unnamed-addr.ll
index ba278409934a..ef67cacad829 100644
--- a/llvm/test/Assembler/local-unnamed-addr.ll
+++ b/llvm/test/Assembler/local-unnamed-addr.ll
@@ -4,8 +4,8 @@
 ; CHECK: @c = local_unnamed_addr constant i32 0
 @c = local_unnamed_addr constant i32 0
 
-; CHECK: @a = local_unnamed_addr alias i32, i32* @c
- at a = local_unnamed_addr alias i32, i32* @c
+; CHECK: @a = local_unnamed_addr alias i32, ptr @c
+ at a = local_unnamed_addr alias i32, ptr @c
 
 ; CHECK: define void @f() local_unnamed_addr {
 define void @f() local_unnamed_addr {

diff  --git a/llvm/test/Assembler/metadata-function-local.ll b/llvm/test/Assembler/metadata-function-local.ll
index 9768e34d786e..7cb8a8a7ce76 100644
--- a/llvm/test/Assembler/metadata-function-local.ll
+++ b/llvm/test/Assembler/metadata-function-local.ll
@@ -7,14 +7,14 @@ define void @foo(i32 %arg) {
 entry:
   %before = alloca i32
   call void @llvm.metadata(metadata i32 %arg)
-  call void @llvm.metadata(metadata i32* %after)
-  call void @llvm.metadata(metadata i32* %before)
+  call void @llvm.metadata(metadata ptr %after)
+  call void @llvm.metadata(metadata ptr %before)
   %after = alloca i32
   ret void
 
 ; CHECK: %before = alloca i32
 ; CHECK: call void @llvm.metadata(metadata i32 %arg)
-; CHECK: call void @llvm.metadata(metadata i32* %after)
-; CHECK: call void @llvm.metadata(metadata i32* %before)
+; CHECK: call void @llvm.metadata(metadata ptr %after)
+; CHECK: call void @llvm.metadata(metadata ptr %before)
 ; CHECK: %after = alloca i32
 }

diff  --git a/llvm/test/Assembler/metadata-use-uselistorder.ll b/llvm/test/Assembler/metadata-use-uselistorder.ll
index 6996c2adbc23..b91eadd5b6f6 100644
--- a/llvm/test/Assembler/metadata-use-uselistorder.ll
+++ b/llvm/test/Assembler/metadata-use-uselistorder.ll
@@ -15,16 +15,16 @@ target triple = "x86_64-unknown-linux-gnu"
 
 define void @foo() local_unnamed_addr !dbg !6 {
 entry:
-  %0 = load i64, i64* getelementptr inbounds ([10 x i64], [10 x i64]* @global_arr, i64 0, i64 4), align 16
-  call void @llvm.dbg.value(metadata i64* getelementptr inbounds ([10 x i64], [10 x i64]* @global_arr, i64 0, i64 5), metadata !10, metadata !DIExpression()), !dbg !13
-  %1 = load i64, i64* getelementptr inbounds ([10 x i64], [10 x i64]* @global_arr, i64 0, i64 6), align 16
-  call void @llvm.dbg.value(metadata i64* getelementptr inbounds ([10 x i64], [10 x i64]* @global_arr, i64 0, i64 6), metadata !10, metadata !DIExpression()), !dbg !14
+  %0 = load i64, ptr getelementptr inbounds ([10 x i64], ptr @global_arr, i64 0, i64 4), align 16
+  call void @llvm.dbg.value(metadata ptr getelementptr inbounds ([10 x i64], ptr @global_arr, i64 0, i64 5), metadata !10, metadata !DIExpression()), !dbg !13
+  %1 = load i64, ptr getelementptr inbounds ([10 x i64], ptr @global_arr, i64 0, i64 6), align 16
+  call void @llvm.dbg.value(metadata ptr getelementptr inbounds ([10 x i64], ptr @global_arr, i64 0, i64 6), metadata !10, metadata !DIExpression()), !dbg !14
   ret void
 }
 
 define void @bar() local_unnamed_addr !dbg !15 {
 entry:
-  call void @llvm.dbg.value(metadata i64* getelementptr inbounds ([10 x i64], [10 x i64]* @global_arr, i64 0, i64 7), metadata !17, metadata !DIExpression()), !dbg !18
+  call void @llvm.dbg.value(metadata ptr getelementptr inbounds ([10 x i64], ptr @global_arr, i64 0, i64 7), metadata !17, metadata !DIExpression()), !dbg !18
   ret void
 }
 

diff  --git a/llvm/test/Assembler/missing-tbaa.ll b/llvm/test/Assembler/missing-tbaa.ll
index 38fe754b6030..c0ea25f4f279 100644
--- a/llvm/test/Assembler/missing-tbaa.ll
+++ b/llvm/test/Assembler/missing-tbaa.ll
@@ -4,7 +4,7 @@
 
 define void @foo() {
 entry:
-  store i8 undef, i8* undef,
+  store i8 undef, ptr undef,
 ; CHECK: :[[@LINE+1]]:10: error: use of undefined metadata '!1'
   !tbaa !1
   unreachable

diff  --git a/llvm/test/Assembler/mustprogress-parse-error-2.ll b/llvm/test/Assembler/mustprogress-parse-error-2.ll
index 2d75b465a426..6448184a20c7 100644
--- a/llvm/test/Assembler/mustprogress-parse-error-2.ll
+++ b/llvm/test/Assembler/mustprogress-parse-error-2.ll
@@ -1,7 +1,7 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
-; CHECK: [[@LINE+1]]:52: error: expected '{' in function body
-define i32* @test_mustprogress(i8 %a) mustprogress 8 {
+; CHECK: [[@LINE+1]]:51: error: expected '{' in function body
+define ptr @test_mustprogress(i8 %a) mustprogress 8 {
   ret void
 }
 

diff  --git a/llvm/test/Assembler/musttail-invalid-1.ll b/llvm/test/Assembler/musttail-invalid-1.ll
index e9141c813dff..0cf311275c7c 100644
--- a/llvm/test/Assembler/musttail-invalid-1.ll
+++ b/llvm/test/Assembler/musttail-invalid-1.ll
@@ -5,10 +5,10 @@
 
 %struct.A = type { i32 }
 
-declare i8* @f(i8*, ...)
+declare ptr @f(ptr, ...)
 
-define i8* @f_thunk(i8* %this) {
-  %rv = musttail call i8* (i8*, ...) @f(i8* %this, ...)
+define ptr @f_thunk(ptr %this) {
+  %rv = musttail call ptr (ptr, ...) @f(ptr %this, ...)
 ; CHECK: error: unexpected ellipsis in argument list for musttail call in non-varargs function
-  ret i8* %rv
+  ret ptr %rv
 }

diff  --git a/llvm/test/Assembler/musttail-invalid-2.ll b/llvm/test/Assembler/musttail-invalid-2.ll
index 8602afd3d2cb..75451d11f1c0 100644
--- a/llvm/test/Assembler/musttail-invalid-2.ll
+++ b/llvm/test/Assembler/musttail-invalid-2.ll
@@ -4,10 +4,10 @@
 
 %struct.A = type { i32 }
 
-declare i8* @f(i8*, ...)
+declare ptr @f(ptr, ...)
 
-define i8* @f_thunk(i8* %this, ...) {
-  %rv = musttail call i8* (i8*, ...) @f(i8* %this)
+define ptr @f_thunk(ptr %this, ...) {
+  %rv = musttail call ptr (ptr, ...) @f(ptr %this)
 ; CHECK: error: expected '...' at end of argument list for musttail call in varargs function
-  ret i8* %rv
+  ret ptr %rv
 }

diff  --git a/llvm/test/Assembler/musttail.ll b/llvm/test/Assembler/musttail.ll
index ac60ba2d02fa..625adf2cb21f 100644
--- a/llvm/test/Assembler/musttail.ll
+++ b/llvm/test/Assembler/musttail.ll
@@ -4,11 +4,11 @@
 
 %struct.A = type { i32 }
 
-declare i8* @f(i8*, ...)
+declare ptr @f(ptr, ...)
 
-define i8* @f_thunk(i8* %this, ...) {
-  %rv = musttail call i8* (i8*, ...) @f(i8* %this, ...)
-  ret i8* %rv
+define ptr @f_thunk(ptr %this, ...) {
+  %rv = musttail call ptr (ptr, ...) @f(ptr %this, ...)
+  ret ptr %rv
 }
-; CHECK-LABEL: define i8* @f_thunk(i8* %this, ...)
-; CHECK: %rv = musttail call i8* (i8*, ...) @f(i8* %this, ...)
+; CHECK-LABEL: define ptr @f_thunk(ptr %this, ...)
+; CHECK: %rv = musttail call ptr (ptr, ...) @f(ptr %this, ...)

diff  --git a/llvm/test/Assembler/numbered-values.ll b/llvm/test/Assembler/numbered-values.ll
index 0b14c6845ab0..d6c788d572be 100644
--- a/llvm/test/Assembler/numbered-values.ll
+++ b/llvm/test/Assembler/numbered-values.ll
@@ -4,14 +4,14 @@
 
 define i32 @test(i32 %X) nounwind {
 entry:
-	%X_addr = alloca i32		; <i32*> [#uses=2]
-	%retval = alloca i32		; <i32*> [#uses=2]
-	%0 = alloca i32		; <i32*>:0 [#uses=2]
+	%X_addr = alloca i32		; <ptr> [#uses=2]
+	%retval = alloca i32		; <ptr> [#uses=2]
+	%0 = alloca i32		; <ptr>:0 [#uses=2]
 	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]
-	store i32 %X, i32* %X_addr
-	%1 = load i32, i32* %X_addr, align 4		; <i32>:1 [#uses=1]
+	store i32 %X, ptr %X_addr
+	%1 = load i32, ptr %X_addr, align 4		; <i32>:1 [#uses=1]
 	mul i32 %1, 4		; <i32>:2 [#uses=1]
 	%3 = add i32 %2, 123		; <i32>:3 [#uses=1]
-	store i32 %3, i32* %0, align 4
+	store i32 %3, ptr %0, align 4
 	ret i32 %3
 }

diff  --git a/llvm/test/Assembler/opaque-ptr-intrinsic-remangling.ll b/llvm/test/Assembler/opaque-ptr-intrinsic-remangling.ll
index 1f07df616fe8..7c9ffc5b32bf 100644
--- a/llvm/test/Assembler/opaque-ptr-intrinsic-remangling.ll
+++ b/llvm/test/Assembler/opaque-ptr-intrinsic-remangling.ll
@@ -5,11 +5,11 @@
 
 %int8x16x2_t = type { <16 x i8>, <16 x i8> }
 
-declare i32* @fake_personality_function()
+declare ptr @fake_personality_function()
 declare void @func()
 
 ; Upgrading of invoked intrinsic.
-define void @test_invoke(i32 addrspace(1)* %b) gc "statepoint-example" personality i32* ()* @fake_personality_function {
+define void @test_invoke(ptr addrspace(1) %b) gc "statepoint-example" personality ptr @fake_personality_function {
 ; CHECK-LABEL: @test_invoke(
 ; CHECK-NEXT:  entry:
 ; CHECK-NEXT:    [[D:%.*]] = getelementptr i32, ptr addrspace(1) [[B:%.*]], i64 16
@@ -23,8 +23,8 @@ define void @test_invoke(i32 addrspace(1)* %b) gc "statepoint-example" personali
 ; CHECK-NEXT:    ret void
 ;
 entry:
-  %d = getelementptr i32, i32 addrspace(1)* %b, i64 16
-  %safepoint_token = invoke token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()* elementtype(void ()) @func, i32 0, i32 0, i32 0, i32 0) ["gc-live" (i32 addrspace(1)* %b, i32 addrspace(1)* %b, i32 addrspace(1)* %d, i32 addrspace(1)* %d)]
+  %d = getelementptr i32, ptr addrspace(1) %b, i64 16
+  %safepoint_token = invoke token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr elementtype(void ()) @func, i32 0, i32 0, i32 0, i32 0) ["gc-live" (ptr addrspace(1) %b, ptr addrspace(1) %b, ptr addrspace(1) %d, ptr addrspace(1) %d)]
   to label %normal_dest unwind label %unwind_dest
 
 normal_dest:
@@ -36,17 +36,17 @@ unwind_dest:
   ret void
 }
 
-define i8* @test_ptr_annotation(i8* %p) {
+define ptr @test_ptr_annotation(ptr %p) {
 ; CHECK-LABEL: @test_ptr_annotation(
 ; CHECK-NEXT:    [[P2:%.*]] = call ptr @llvm.ptr.annotation.p0.p0(ptr [[P:%.*]], ptr undef, ptr undef, i32 undef, ptr undef)
 ; CHECK-NEXT:    ret ptr [[P2]]
 ;
-  %p2 = call i8* @llvm.ptr.annotation.p0i8(i8* %p, i8* undef, i8* undef, i32 undef, i8* undef)
-  ret i8* %p2
+  %p2 = call ptr @llvm.ptr.annotation.p0(ptr %p, ptr undef, ptr undef, i32 undef, ptr undef)
+  ret ptr %p2
 }
 
 
-define void @test_struct_return(%int8x16x2_t* %res.p, i8* %a) {
+define void @test_struct_return(ptr %res.p, ptr %a) {
 ; CHECK-LABEL: @test_struct_return(
 ; CHECK-NEXT:    [[TMP1:%.*]] = call { <16 x i8>, <16 x i8> } @llvm.aarch64.neon.ld1x2.v16i8.p0(ptr [[A:%.*]])
 ; CHECK-NEXT:    [[TMP2:%.*]] = extractvalue { <16 x i8>, <16 x i8> } [[TMP1]], 0
@@ -56,11 +56,11 @@ define void @test_struct_return(%int8x16x2_t* %res.p, i8* %a) {
 ; CHECK-NEXT:    store [[INT8X16X2_T]] [[TMP5]], ptr [[RES_P:%.*]], align 16
 ; CHECK-NEXT:    ret void
 ;
-  %res = call %int8x16x2_t @llvm.aarch64.neon.ld1x2.v16i8.p0i8(i8* %a)
-  store %int8x16x2_t %res, %int8x16x2_t* %res.p
+  %res = call %int8x16x2_t @llvm.aarch64.neon.ld1x2.v16i8.p0(ptr %a)
+  store %int8x16x2_t %res, ptr %res.p
   ret void
 }
 
-declare token @llvm.experimental.gc.statepoint.p0f_isVoidf(i64, i32, void ()*, i32, i32, ...)
-declare i8* @llvm.ptr.annotation.p0i8(i8*, i8*, i8*, i32, i8*)
-declare %int8x16x2_t @llvm.aarch64.neon.ld1x2.v16i8.p0i8(i8*)
+declare token @llvm.experimental.gc.statepoint.p0(i64, i32, ptr, i32, i32, ...)
+declare ptr @llvm.ptr.annotation.p0(ptr, ptr, ptr, i32, ptr)
+declare %int8x16x2_t @llvm.aarch64.neon.ld1x2.v16i8.p0(ptr)

diff  --git a/llvm/test/Assembler/opaque-ptr-struct-types.ll b/llvm/test/Assembler/opaque-ptr-struct-types.ll
index 55ece6fb2d6f..e166780cb908 100644
--- a/llvm/test/Assembler/opaque-ptr-struct-types.ll
+++ b/llvm/test/Assembler/opaque-ptr-struct-types.ll
@@ -30,7 +30,7 @@ define %T2 @f(ptr %p) {
   unreachable
 }
 
-define %T2* @f.resolver(ptr %p) {
+define ptr @f.resolver(ptr %p) {
   alloca %T3
   getelementptr %T4, ptr %p, i64 1
   call void @f(ptr sret(%T5) %p)

diff  --git a/llvm/test/Assembler/opaque-ptr.ll b/llvm/test/Assembler/opaque-ptr.ll
index dd22d541f43b..f950708088f1 100644
--- a/llvm/test/Assembler/opaque-ptr.ll
+++ b/llvm/test/Assembler/opaque-ptr.ll
@@ -10,19 +10,17 @@
 ; CHECK: @fptr1 = external global ptr
 ; CHECK: @fptr2 = external global ptr addrspace(1)
 ; CHECK: @fptr3 = external global ptr addrspace(2)
- at fptr1 = external global ptr ()*
- at fptr2 = external global ptr () addrspace(1)*
- at fptr3 = external global ptr () addrspace(1)* addrspace(2)*
+ at fptr1 = external global ptr
+ at fptr2 = external global ptr addrspace(1)
+ at fptr3 = external global ptr addrspace(2)
 
 ; CHECK: @ifunc = ifunc void (), ptr @f
 @ifunc = ifunc void (), ptr @f
 
 ; CHECK: define ptr @f(ptr %a) {
-; CHECK:     %b = bitcast ptr %a to ptr
-; CHECK:     ret ptr %b
+; CHECK:     ret ptr %a
 define ptr @f(ptr %a) {
-    %b = bitcast ptr %a to ptr
-    ret ptr %b
+    ret ptr %a
 }
 
 ; CHECK: define ptr @g(ptr addrspace(2) %a) {
@@ -151,7 +149,7 @@ define void @call_arg(ptr %p, i32 %a) {
 ; CHECK:   invoke void %p()
 ; CHECK:     to label %continue unwind label %cleanup
 declare void @personality()
-define void @invoke(ptr %p) personality void ()* @personality {
+define void @invoke(ptr %p) personality ptr @personality {
   invoke void %p()
     to label %continue unwind label %cleanup
 

diff  --git a/llvm/test/Assembler/private-hidden-alias.ll b/llvm/test/Assembler/private-hidden-alias.ll
index eac27f488e6b..e600a73191ef 100644
--- a/llvm/test/Assembler/private-hidden-alias.ll
+++ b/llvm/test/Assembler/private-hidden-alias.ll
@@ -2,5 +2,5 @@
 
 @global = global i32 0
 
- at alias = private hidden alias i32, i32* @global
+ at alias = private hidden alias i32, ptr @global
 ; CHECK: symbol with local linkage must have default visibility

diff  --git a/llvm/test/Assembler/private-protected-alias.ll b/llvm/test/Assembler/private-protected-alias.ll
index 37bdabaf8a5e..a8d930987127 100644
--- a/llvm/test/Assembler/private-protected-alias.ll
+++ b/llvm/test/Assembler/private-protected-alias.ll
@@ -2,5 +2,5 @@
 
 @global = global i32 0
 
- at alias = private protected alias i32, i32* @global
+ at alias = private protected alias i32, ptr @global
 ; CHECK: symbol with local linkage must have default visibility

diff  --git a/llvm/test/Assembler/remangle.ll b/llvm/test/Assembler/remangle.ll
index 80f33eed33bb..1a3587a8c330 100644
--- a/llvm/test/Assembler/remangle.ll
+++ b/llvm/test/Assembler/remangle.ll
@@ -20,21 +20,21 @@ target triple = "x86_64-unknown-linux-gnu"
 
 declare void @foo(%fum*)
 
-; Will be remagled to @"llvm.ssa.copy.p0p0s_fum.1s"
-declare %fum.1** @"llvm.ssa.copy.p0p0s_fums"(%fum.1**)
+; Will be remagled to @"llvm.ssa.copy.s_fum.1s"
+declare %fum.1 @"llvm.ssa.copy.s_fums"(%fum.1)
 
-; Will be remagled to @"llvm.ssa.copy.p0p0s_fums"
-declare %fum** @"llvm.ssa.copy.p0p0s_fum.1s"(%fum**)
+; Will be remagled to @"llvm.ssa.copy.s_fums"
+declare %fum @"llvm.ssa.copy.s_fum.1s"(%fum)
 
-define void @foo1(%fum** %a, %fum.1 ** %b) {
-  %b.copy = call %fum.1** @"llvm.ssa.copy.p0p0s_fums"(%fum.1** %b)
-  %a.copy = call %fum** @"llvm.ssa.copy.p0p0s_fum.1s"(%fum** %a)
+define void @foo1(%fum %a, %fum.1 %b) {
+  %b.copy = call %fum.1 @"llvm.ssa.copy.s_fums"(%fum.1 %b)
+  %a.copy = call %fum @"llvm.ssa.copy.s_fum.1s"(%fum %a)
   ret void
 }
 
-define void @foo2(%fum.1 ** %b, %fum** %a) {
-  %a.copy = call %fum** @"llvm.ssa.copy.p0p0s_fum.1s"(%fum** %a)
-  %b.copy = call %fum.1** @"llvm.ssa.copy.p0p0s_fums"(%fum.1** %b)
+define void @foo2(%fum.1 %b, %fum %a) {
+  %a.copy = call %fum @"llvm.ssa.copy.s_fum.1s"(%fum %a)
+  %b.copy = call %fum.1 @"llvm.ssa.copy.s_fums"(%fum.1 %b)
   ret void
 }
 
@@ -45,16 +45,16 @@ define void @foo2(%fum.1 ** %b, %fum** %a) {
 ; CHECK-DAG: %abb = type { %abc }
 ; CHECK-DAG: %abc = type { [4 x i8] }
 
-; CHECK-LABEL: define void @foo1(%fum** %a, %fum.1** %b) {
-; CHECK-NEXT:   %b.copy = call %fum.1** @llvm.ssa.copy.p0p0s_fum.1s(%fum.1** %b)
-; CHECK-NEXT:   %a.copy = call %fum** @llvm.ssa.copy.p0p0s_fums(%fum** %a)
+; CHECK-LABEL: define void @foo1(%fum %a, %fum.1 %b) {
+; CHECK-NEXT:   %b.copy = call %fum.1 @llvm.ssa.copy.s_fum.1s(%fum.1 %b)
+; CHECK-NEXT:   %a.copy = call %fum @llvm.ssa.copy.s_fums(%fum %a)
 ; CHECK-NEXT:  ret void
 
-; CHECK-LABEL: define void @foo2(%fum.1** %b, %fum** %a) {
-; CHECK-NEXT:   %a.copy = call %fum** @llvm.ssa.copy.p0p0s_fums(%fum** %a)
-; CHECK-NEXT:  %b.copy = call %fum.1** @llvm.ssa.copy.p0p0s_fum.1s(%fum.1** %b)
+; CHECK-LABEL: define void @foo2(%fum.1 %b, %fum %a) {
+; CHECK-NEXT:   %a.copy = call %fum @llvm.ssa.copy.s_fums(%fum %a)
+; CHECK-NEXT:  %b.copy = call %fum.1 @llvm.ssa.copy.s_fum.1s(%fum.1 %b)
 ; CHECK-NEXT:  ret void
 
-; CHECK: declare %fum.1** @llvm.ssa.copy.p0p0s_fum.1s(%fum.1** returned)
+; CHECK: declare %fum.1 @llvm.ssa.copy.s_fum.1s(%fum.1 returned)
 
-; CHECK: declare %fum** @llvm.ssa.copy.p0p0s_fums(%fum** returned)
+; CHECK: declare %fum @llvm.ssa.copy.s_fums(%fum returned)

diff  --git a/llvm/test/Assembler/sret-parse-error0.ll b/llvm/test/Assembler/sret-parse-error0.ll
index 47a4aac3fa4a..140110f182d1 100644
--- a/llvm/test/Assembler/sret-parse-error0.ll
+++ b/llvm/test/Assembler/sret-parse-error0.ll
@@ -1,6 +1,6 @@
 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
 
 ; CHECK: <stdin>:[[@LINE+1]]:32: error: expected '('{{$}}
-define void @test_sret(i8* sret) {
+define void @test_sret(ptr sret) {
   ret void
 }

diff  --git a/llvm/test/Assembler/sret-type-attr.ll b/llvm/test/Assembler/sret-type-attr.ll
index 1b9dae9481ff..3fd1b096fb71 100644
--- a/llvm/test/Assembler/sret-type-attr.ll
+++ b/llvm/test/Assembler/sret-type-attr.ll
@@ -1,43 +1,43 @@
 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
 
-; CHECK: define void @foo(i32* sret(i32) align 4 %0)
-define void @foo(i32* sret(i32) align 4 %0) {
+; CHECK: define void @foo(ptr sret(i32) align 4 %0)
+define void @foo(ptr sret(i32) align 4 %0) {
   ret void
 }
 
-; CHECK: define void @bar({ i32*, i8 }* sret({ i32*, i8 }) align 4 %0)
-define void @bar({i32*, i8}* sret({i32*, i8}) align 4 %0) {
+; CHECK: define void @bar(ptr sret({ ptr, i8 }) align 4 %0)
+define void @bar(ptr sret({ptr, i8}) align 4 %0) {
   ret void
 }
 
-define void @caller({ i32*, i8 }* %ptr) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
-; CHECK: call void @bar({ i32*, i8 }* sret({ i32*, i8 }) %ptr)
-; CHECK: invoke void @bar({ i32*, i8 }* sret({ i32*, i8 }) %ptr)
-  call void @bar({i32*, i8}* sret({i32*, i8}) %ptr)
-  invoke void @bar({i32*, i8}* sret({i32*, i8}) %ptr) to label %success unwind label %fail
+define void @caller(ptr %ptr) personality ptr @__gxx_personality_v0 {
+; CHECK: call void @bar(ptr sret({ ptr, i8 }) %ptr)
+; CHECK: invoke void @bar(ptr sret({ ptr, i8 }) %ptr)
+  call void @bar(ptr sret({ptr, i8}) %ptr)
+  invoke void @bar(ptr sret({ptr, i8}) %ptr) to label %success unwind label %fail
 
 success:
   ret void
 
 fail:
-  landingpad { i8*, i32 } cleanup
+  landingpad { ptr, i32 } cleanup
   ret void
 }
 
-; CHECK: declare void @baz([8 x i8]* sret([8 x i8]))
+; CHECK: declare void @baz(ptr sret([8 x i8]))
 %named_type = type [8 x i8]
-declare void @baz(%named_type* sret(%named_type))
+declare void @baz(ptr sret(%named_type))
 
 declare i32 @__gxx_personality_v0(...)
 
 %0 = type opaque
 
-; CHECK: define void @anon({ %0* }* sret({ %0* }) %arg)
-; CHECK:   call void @anon_callee({ %0* }* sret({ %0* }) %arg)
-define void @anon({ %0* }* sret({ %0* }) %arg) {
-  call void @anon_callee({ %0* }* sret({ %0* }) %arg)
+; CHECK: define void @anon(ptr sret({ ptr }) %arg)
+; CHECK:   call void @anon_callee(ptr sret({ ptr }) %arg)
+define void @anon(ptr sret({ ptr }) %arg) {
+  call void @anon_callee(ptr sret({ ptr }) %arg)
   ret void
 }
 
-; CHECK: declare void @anon_callee({ %0* }* sret({ %0* }))
-declare void @anon_callee({ %0* }* sret({ %0* }))
+; CHECK: declare void @anon_callee(ptr sret({ ptr }))
+declare void @anon_callee(ptr sret({ ptr }))

diff  --git a/llvm/test/Assembler/thinlto-vtable-summary.ll b/llvm/test/Assembler/thinlto-vtable-summary.ll
index 7523901b78e2..5a0ff32a8390 100644
--- a/llvm/test/Assembler/thinlto-vtable-summary.ll
+++ b/llvm/test/Assembler/thinlto-vtable-summary.ll
@@ -10,18 +10,18 @@ source_filename = "thinlto-vtable-summary.ll"
 target datalayout = "e-m:e-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 }
 
- 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
- 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
+ at _ZTV1B = constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1B1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !1
+ at _ZTV1C = constant { [4 x ptr] } { [4 x ptr] [ptr null, ptr undef, ptr @_ZN1C1fEi, ptr @_ZN1A1nEi] }, !type !0, !type !2
 
-declare i32 @_ZN1B1fEi(%struct.B*, i32)
+declare i32 @_ZN1B1fEi(ptr, i32)
 
-declare i32 @_ZN1A1nEi(%struct.A*, i32)
+declare i32 @_ZN1A1nEi(ptr, i32)
 
-declare i32 @_ZN1C1fEi(%struct.C*, i32)
+declare i32 @_ZN1C1fEi(ptr, i32)
 
 !0 = !{i64 16, !"_ZTS1A"}
 !1 = !{i64 16, !"_ZTS1B"}

diff  --git a/llvm/test/Assembler/unnamed-addr.ll b/llvm/test/Assembler/unnamed-addr.ll
index 304e54409cd0..65d565fcb52c 100644
--- a/llvm/test/Assembler/unnamed-addr.ll
+++ b/llvm/test/Assembler/unnamed-addr.ll
@@ -8,11 +8,11 @@
 
 define i32 @main() unnamed_addr nounwind ssp {
 entry:
-  %call2 = tail call i32 @zed(%struct.foobar* @foo.d, %struct.foobar* @bar.d) nounwind
+  %call2 = tail call i32 @zed(ptr @foo.d, ptr @bar.d) nounwind
   ret i32 0
 }
 
-declare i32 @zed(%struct.foobar*, %struct.foobar*)
+declare i32 @zed(ptr, ptr)
 
 ; CHECK: @bar.d = internal unnamed_addr constant %struct.foobar zeroinitializer, align 4
 ; CHECK: @foo.d = internal constant %struct.foobar zeroinitializer, align 4

diff  --git a/llvm/test/Assembler/unnamed-alias.ll b/llvm/test/Assembler/unnamed-alias.ll
index 121e54b7d079..853630bbb27c 100644
--- a/llvm/test/Assembler/unnamed-alias.ll
+++ b/llvm/test/Assembler/unnamed-alias.ll
@@ -5,7 +5,7 @@
 @1 = private constant i32 1
 ; CHECK: @1 = private constant i32 1
 
- at 2 = private alias i32, i32* @3
-; CHECK: @2 = private alias i32, i32* @3
- at 3 = private alias i32, i32* @1
-; CHECK: @3 = private alias i32, i32* @1
+ at 2 = private alias i32, ptr @3
+; CHECK: @2 = private alias i32, ptr @3
+ at 3 = private alias i32, ptr @1
+; CHECK: @3 = private alias i32, ptr @1

diff  --git a/llvm/test/Assembler/unnamed.ll b/llvm/test/Assembler/unnamed.ll
index 7f79e5c20d74..1f4eef5d9cce 100644
--- a/llvm/test/Assembler/unnamed.ll
+++ b/llvm/test/Assembler/unnamed.ll
@@ -12,41 +12,41 @@ module asm "this is another inline asm block"
 
 @0 = global i32 0
 @1 = global float 3.0
- at 2 = global i8* null
+ at 2 = global ptr null
 @3 = global x86_fp80 0xK4001E000000000000000
 
-define float @foo(%0* %p) nounwind {
-  %t = load %0, %0* %p                                ; <%0> [#uses=2]
+define float @foo(ptr %p) nounwind {
+  %t = load %0, ptr %p                                ; <%0> [#uses=2]
   %s = extractvalue %0 %t, 1, 0                   ; <float> [#uses=1]
   %r = insertvalue %0 %t, double 2.000000e+00, 1, 1; <%0> [#uses=1]
-  store %0 %r, %0* %p
+  store %0 %r, ptr %p
   ret float %s
 }
 
-define float @bar(%0* %p) nounwind {
-  store %0 { %1 { i32 4 }, %2 { float 4.000000e+00, double 2.000000e+01 } }, %0* %p
+define float @bar(ptr %p) nounwind {
+  store %0 { %1 { i32 4 }, %2 { float 4.000000e+00, double 2.000000e+01 } }, ptr %p
   ret float 7.000000e+00
 }
 
-define float @car(%0* %p) nounwind {
-  store %0 { %1 undef, %2 { float undef, double 2.000000e+01 } }, %0* %p
+define float @car(ptr %p) nounwind {
+  store %0 { %1 undef, %2 { float undef, double 2.000000e+01 } }, ptr %p
   ret float undef
 }
 
-define float @dar(%0* %p) nounwind {
-  store %0 { %1 zeroinitializer, %2 { float 0.000000e+00, double 2.000000e+01 } }, %0* %p
+define float @dar(ptr %p) nounwind {
+  store %0 { %1 zeroinitializer, %2 { float 0.000000e+00, double 2.000000e+01 } }, ptr %p
   ret float 0.000000e+00
 }
 
-define i32* @qqq() {
-  ret i32* @0
+define ptr @qqq() {
+  ret ptr @0
 }
-define float* @rrr() {
-  ret float* @1
+define ptr @rrr() {
+  ret ptr @1
 }
-define i8** @sss() {
-  ret i8** @2
+define ptr @sss() {
+  ret ptr @2
 }
-define x86_fp80* @nnn() {
-  ret x86_fp80* @3
+define ptr @nnn() {
+  ret ptr @3
 }

diff  --git a/llvm/test/Assembler/unsized-recursive-type.ll b/llvm/test/Assembler/unsized-recursive-type.ll
index b6d93fa19fe2..e849e912ec81 100644
--- a/llvm/test/Assembler/unsized-recursive-type.ll
+++ b/llvm/test/Assembler/unsized-recursive-type.ll
@@ -3,7 +3,7 @@
 ; CHECK: base element of getelementptr must be sized
 
 %myTy = type { %myTy }
-define void @foo(%myTy* %p){
-  %0 = getelementptr %myTy, %myTy* %p, i32 0
+define void @foo(ptr %p){
+  getelementptr %myTy, ptr %p, i64 1
   ret void
 }

diff  --git a/llvm/test/Assembler/uselistorder.ll b/llvm/test/Assembler/uselistorder.ll
index 016bd877311b..280a4086793c 100644
--- a/llvm/test/Assembler/uselistorder.ll
+++ b/llvm/test/Assembler/uselistorder.ll
@@ -4,7 +4,7 @@
 ; RUN: verify-uselistorder < %s
 
 @a = global [4 x i1] [i1 0, i1 1, i1 0, i1 1]
- at b = alias i1, getelementptr ([4 x i1], [4 x i1]* @a, i64 0, i64 2)
+ at b = alias i1, getelementptr ([4 x i1], ptr @a, i64 0, i64 2)
 
 ; Check use-list order of constants used by globals.
 @glob1 = global i5 7
@@ -48,9 +48,9 @@ first:
 
 define i1 @loada() {
 entry:
-  %a = load i1, i1* getelementptr ([4 x i1], [4 x i1]* @a, i64 0, i64 2)
+  %a = load i1, ptr getelementptr ([4 x i1], ptr @a, i64 0, i64 2)
   ret i1 %a
 }
 
 uselistorder i5 7, { 1, 0, 2 }
-uselistorder i1* getelementptr ([4 x i1], [4 x i1]* @a, i64 0, i64 2), { 1, 0 }
+uselistorder ptr getelementptr ([4 x i1], ptr @a, i64 0, i64 2), { 1, 0 }

diff  --git a/llvm/test/Assembler/uselistorder_bb.ll b/llvm/test/Assembler/uselistorder_bb.ll
index 4da85bc3bafe..046202f9bee3 100644
--- a/llvm/test/Assembler/uselistorder_bb.ll
+++ b/llvm/test/Assembler/uselistorder_bb.ll
@@ -3,16 +3,16 @@
 ; CHECK-NOT: warning
 ; RUN: verify-uselistorder < %s
 
- at ba1 = constant i8* blockaddress (@bafunc1, %bb)
- at ba2 = constant i8* getelementptr (i8, i8* blockaddress (@bafunc2, %bb), i61 0)
- at ba3 = constant i8* getelementptr (i8, i8* blockaddress (@bafunc2, %bb), i61 0)
+ at ba1 = constant ptr blockaddress (@bafunc1, %bb)
+ at ba2 = constant ptr getelementptr (i8, ptr blockaddress (@bafunc2, %bb), i61 0)
+ at ba3 = constant ptr getelementptr (i8, ptr blockaddress (@bafunc2, %bb), i61 0)
 
-define i8* @babefore() {
-  ret i8* getelementptr (i8, i8* blockaddress (@bafunc2, %bb), i61 0)
+define ptr @babefore() {
+  ret ptr getelementptr (i8, ptr blockaddress (@bafunc2, %bb), i61 0)
 bb1:
-  ret i8* blockaddress (@bafunc1, %bb)
+  ret ptr blockaddress (@bafunc1, %bb)
 bb2:
-  ret i8* blockaddress (@bafunc3, %bb)
+  ret ptr blockaddress (@bafunc3, %bb)
 }
 define void @bafunc1() {
   br label %bb
@@ -29,12 +29,12 @@ define void @bafunc3() {
 bb:
   unreachable
 }
-define i8* @baafter() {
-  ret i8* blockaddress (@bafunc2, %bb)
+define ptr @baafter() {
+  ret ptr blockaddress (@bafunc2, %bb)
 bb1:
-  ret i8* blockaddress (@bafunc1, %bb)
+  ret ptr blockaddress (@bafunc1, %bb)
 bb2:
-  ret i8* blockaddress (@bafunc3, %bb)
+  ret ptr blockaddress (@bafunc3, %bb)
 }
 
 uselistorder_bb @bafunc1, %bb, { 1, 0 }

diff  --git a/llvm/test/Assembler/uselistorder_global.ll b/llvm/test/Assembler/uselistorder_global.ll
index 3bbab5593226..4c9c20b2192d 100644
--- a/llvm/test/Assembler/uselistorder_global.ll
+++ b/llvm/test/Assembler/uselistorder_global.ll
@@ -8,20 +8,20 @@
 ; CHECK: define void @func2() {
 ; CHECK-NOT: uselistorder
 ; CHECK: }
-; CHECK: uselistorder i32* @g, { 3, 2, 1, 0 }
+; CHECK: uselistorder ptr @g, { 3, 2, 1, 0 }
 
 @g = external global i32
 
 define void @func1() {
-  load i32, i32* @g
-  load i32, i32* @g
+  load i32, ptr @g
+  load i32, ptr @g
   ret void
 }
 
 define void @func2() {
-  load i32, i32* @g
-  load i32, i32* @g
+  load i32, ptr @g
+  load i32, ptr @g
   ret void
 }
 
-uselistorder i32* @g, { 3, 2, 1, 0 }
+uselistorder ptr @g, { 3, 2, 1, 0 }

diff  --git a/llvm/test/Assembler/vector-cmp.ll b/llvm/test/Assembler/vector-cmp.ll
index bdc6305c3812..23fe54f84595 100644
--- a/llvm/test/Assembler/vector-cmp.ll
+++ b/llvm/test/Assembler/vector-cmp.ll
@@ -4,7 +4,7 @@
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 target triple = "i686-apple-darwin9.2.2"
 
-; CHECK: @1 = global <4 x i1> <i1 icmp slt (i32 ptrtoint (i32* @B to i32), i32 1), i1 true, i1 false, i1 true>
+; CHECK: @1 = global <4 x i1> <i1 icmp slt (i32 ptrtoint (ptr @B to i32), i32 1), i1 true, i1 false, i1 true>
 
 define <4 x i1> @foo(<4 x float> %a, <4 x float> %b) nounwind  {
 entry:
@@ -14,4 +14,4 @@ entry:
 
 @0 = global <4 x i1> icmp slt ( <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32>  <i32 1, i32 2, i32 1, i32 2> )
 @B = external global i32
- at 1 = global <4 x i1> icmp slt ( <4 x i32> <i32 ptrtoint (i32 * @B to i32), i32 1, i32 1, i32 1>, <4 x i32>  <i32 1, i32 2, i32 1, i32 2> )
+ at 1 = global <4 x i1> icmp slt ( <4 x i32> <i32 ptrtoint (ptr @B to i32), i32 1, i32 1, i32 1>, <4 x i32>  <i32 1, i32 2, i32 1, i32 2> )

diff  --git a/llvm/test/Assembler/x86_intrcc.ll b/llvm/test/Assembler/x86_intrcc.ll
index b75fbb52b090..94faca0d6154 100644
--- a/llvm/test/Assembler/x86_intrcc.ll
+++ b/llvm/test/Assembler/x86_intrcc.ll
@@ -7,7 +7,7 @@ define x86_intrcc void @no_args() {
   ret void
 }
 
-; CHECK: define x86_intrcc void @byval_arg(i32* byval(i32) %0) {
-define x86_intrcc void @byval_arg(i32* byval(i32)) {
+; CHECK: define x86_intrcc void @byval_arg(ptr byval(i32) %0) {
+define x86_intrcc void @byval_arg(ptr byval(i32)) {
   ret void
 }


        


More information about the llvm-commits mailing list