Analysing annotations in llvm

Hi all,
Can any one help me in reading annotations in llvm?
wat i need is the following?

for(i=0;i<n;i++){

}
the value of n will be at dynamic but user know the max value of n it can take.

so uesr will provide info like
/@max n 100/

for(i=0;i<n;i++){

}
which means max value of n is 100.

now gcc will ignore it bt llvm should process it.
is there any way to do it?

or else wat user can do is to write this info in a separate file with line no of the loop and max size.
and how the llvm pass can detect the line of an instruction and match it with source file line no ?