Why llvm values can't start with %1?

After I manually modified .ll file deleting %0 I am getting this error from llvm-as:

lvm-as: my.ll:43:3: error: instruction expected to be numbered '%0'
  %1 = tail call noalias i8* @malloc(i32 8) nounwind ; <i8*> [#uses=1]
  ^

So now I have to also rename all other %<NUM> variables? Why llvm is so strict with naming? I think it should just accept whatever names are there as long as they make a valid .ll file.

Yuri

Whoops! Forgot to send it to the list!

From: Samuel Crow <samuraileumas@yahoo.com>
To: Yuri <yuri@tsoft.com>
Sent: Wed, May 26, 2010 2:26:05 PM
Subject: Re: [LLVMdev] Why llvm values can't start with %1?

Hi Yuri

If you want to, you can name the registers with %r1 or some other

string with a number after it. My guess about the reason it's so strict
with the numbered SSA registers is that it automatically numbers unnamed
registers internally without registering a name in memory. If you do give
it a name, it will take more memory but will be more flexible in the conventions
used to name the registers.

--Sam

----- Original

Message ----
From: Yuri <
href="mailto:yuri@tsoft.com">yuri@tsoft.com>
To: LLVM Developers
Mailing List <
href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu>
Sent: Wed,
May 26, 2010 2:16:03 PM
Subject: [LLVMdev] Why llvm values can't start
with %1?

After I manually modified .ll file deleting %0 I am
getting this error

from

llvm-as:

lvm-as: my.ll:43:3: error:

instruction expected to be numbered
'%0'

  %1 = tail call

noalias i8* @malloc(i32 8) nounwind ; <i8*>
[#uses=1]
  
^

So now I have to also rename all other %<NUM>

variables?
Why llvm is so

strict with naming? I think it should just accept

whatever names are

there as long as they make a valid .ll

file.

Yuri