IR: print value numbers for unnamed function arguments

For consistency with normal instructions and clarity when reading IR,
it's best to print the %0, %1, ... names of function arguments in
definitions.

Also modifies the parser to accept IR in that form for obvious reasons.

llvm-svn: 367755
diff --git a/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll b/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
index cde546e..6ec1fd0 100644
--- a/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
+++ b/llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
@@ -3,7 +3,7 @@
 
 ; 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)*) {
+define i8 @test_unnamed(i8(i32)*, i8(i32) addrspace(42)* %0) {
   ; Calls with explicit address spaces are fine:
   call addrspace(0) i8 %0(i32 0)
   call addrspace(42) i8 %1(i32 0)
@@ -14,7 +14,7 @@
 }
 
 ; PROGAS42:       target datalayout = "P42"
-; PROGAS42:       define i8 @test_unnamed(i8 (i32)*, i8 (i32) addrspace(42)*) addrspace(42) {
+; PROGAS42:       define i8 @test_unnamed(i8 (i32)* %0, i8 (i32) 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)