so, thanx to all....<br><br>now I understand my fault and now I have another question:<br><br>how I can write those code with using API:<br><br> %final = alloca [256 x i8], align 16            ; <[256 x i8]*> [#uses=1]
<br>        %final1 = getelementptr [256 x i8]* %final, i32 0, i32 0                ; <i8*> [#uses=2]<br>        call void @llvm.memcpy.i32( i8* %final1, i8* getelementptr ([3 x i8]* @.str, i32 0, i32 0), i32 3, i32 1 )
<br>        %tmp5 = call i8* bitcast (i8* (i8*, i8*)* @strcat to i8* (i8* noalias , i8* noalias )*)( i8* %final1 noalias , i8* getelementptr ([4 x i8]* @.str1, i32 0, i32 0) noalias  )          ; <i8*> [#uses=0]<br>
        ret i32 1<br><br><br><br>I interested for last string : <br>    %tmp5 = call i8* bitcast (i8* (i8*, i8*)* @strcat to i8* (i8*
noalias , i8* noalias )*)( i8* %final1 noalias , i8* getelementptr ([4
x i8]* @.str1, i32 0, i32 0) noalias  )          ; <i8*> [#uses=0]<br><br>Best Regards, <br>   Zalunin Pavel<br><br>