<html><head><meta http-equiv="content-type" content="text/html; charset=us-ascii"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: ????; color: rgb(0, 0, 0); line-height: 1.5; }body { font-size: 10.5pt; font-family: ????; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<table width="99.99%" height="100%" style="padding: 10px; background-color: transparent;" border="0" cellpadding="0" cellspacing="0" background="cid:_Foxmail.1@382c475e-c42a-51d4-47c6-9b58e5062b6b">
<tbody><tr>
<td valign="top" style="width:100%;height:100%;">
<div style="">
<div><span></span>Hello,everyone:</div><div>     I want to known how to let clang compile my local array to local variables:</div><div>     I have the code :</div><div><span style="font-size: 16px; color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">    int main()<br>{<br><span style="white-space: pre;">  </span>int a[3]={1,2,3};<br><br>        int b=7;<br><span style="white-space: pre;">      </span>int c=8;<br><span style="white-space: pre;">    </span>int d=9;<br><span style="white-space: pre;">    </span>int e=10;<br><span style="white-space: pre;">   </span>int f=11;<br><span style="white-space: pre;">   </span>test(b,c,d,e,f,a);<br><span style="white-space: pre;">       </span>return 0;<br>}<br></span></div>
<div> I use clang command:clang --target=mipsel -emit-llvm -S a.c -o a.ll</div><div> The a.ll is:</div><div><span style="font-size: 16px; color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">@main.a = private unnamed_addr constant [3 x i32] [i32 1, i32 2, i32 3], align 4<br></span></div><div><span style="font-size: 16px; color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">define i32 @main() #0 {<br>entry:<br>  %retval = alloca i32, align 4<br>  %a = alloca [3 x i32], align 4<br>  %b = alloca i32, align 4<br>  %c = alloca i32, align 4<br>  %d = alloca i32, align 4<br>  %e = alloca i32, align 4<br>  %f = alloca i32, align 4<br>  store i32 0, i32* %retval<br>  %0 = bitcast [3 x i32]* %a to i8*<br>  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* bitcast ([3 x i32]* @main.a to i8*), i32 12, i32 4, i1 false)<br>  store i32 7, i32* %b, align 4<br>  store i32 8, i32* %c, align 4<br>  store i32 9, i32* %d, align 4<br>  store i32 10, i32* %e, align 4<br>  store i32 11, i32* %f, align 4<br>  %1 = load i32, i32* %b, align 4<br>  %2 = load i32, i32* %c, align 4<br>  %3 = load i32, i32* %d, align 4<br>  %4 = load i32, i32* %e, align 4<br>  %5 = load i32, i32* %f, align 4<br>  %arraydecay = getelementptr inbounds [3 x i32], [3 x i32]* %a, i32 0, i32 0<br>  call void @test(i32 signext %1, i32 signext %2, i32 signext %3, i32 signext %4, i32 signext %5, i32* %arraydecay)<br>  ret i32 0;}<br></span></div><div> I want to known how to compile local array a  to a local variable</div><div>Thank  you</div><div><span><div style="margin: 10px; font-size: 10pt;"><div style="font-size: 29px;"><br></div></div></span></div><blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div>
</div></blockquote>
<div></div></div>
</td>
</tr>
</tbody></table>
</body></html>