The assembler is hard to read when values have no names. Here's what it looks like currently: call i8* @f( i32 0 ) ; <i8*>:0 [#uses=1] call void @g( i8* %0 ) How about changing it to this: %0 = call i8* @f( i32 0 ) ; <i8*> [#uses=1] call void @g( i8* %0 ) ? So in the assembler %0 would act like a name for the purpose of assembling, but internally no name would be assigned to the value (so the value might be written out to assembler later as %1 or some other number).
I agree. I think what we basically want is for the "%4 = " to be optional, but for the assembler to verify that it matches up with the numbering the instruction would otherwise get. This is primarily to make dumps more readable, not to make writing .ll files easier.
Implemented: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080825/066539.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080825/066541.html