Indeed that is the closest to what I want to do, without the volatile. I was hoping I could represent it directly without using local variables, but that might be the simplest way and since the address of these is never taken, LLVM can clean them up  as one might hope.<div>
<br></div><div>Thanks</div><div>Vinod</div><div><br><br><div class="gmail_quote">On Thu, May 28, 2009 at 4:48 PM, Mike Stump <span dir="ltr"><<a href="mailto:mrs@apple.com">mrs@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On May 28, 2009, at 4:23 PM, Vinod Grover wrote:<br>
> The input language is at assembly level,<br>
<br>
</div>And C makes for an excellent assembler:<br>
<br>
$ cat s.c<br>
main() {<br>
   volatile register int i, j;<br>
   i = j;<br>
}<br>
$ clang -O4 s.c -o - -S<br>
; ModuleID = 's.c'<br>
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-<br>
i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-<br>
f80:128:128"<br>
target triple = "x86_64-apple-darwin10.0"<br>
<br>
define i32 @main() nounwind readnone {<br>
entry:<br>
        %i = alloca i32, align 4                ; <i32*> [#uses=1]<br>
        %j = alloca i32, align 4                ; <i32*> [#uses=1]<br>
        %tmp = volatile load i32* %j            ; <i32> [#uses=1]<br>
        volatile store i32 %tmp, i32* %i<br>
        ret i32 undef<br>
}<br>
<br>
?  Since you didn't give enough information on how the above is<br>
different from what you want to do, I can't do better.<br>
<div class="im"><br>
> and the location akin to a %temp ( a virtual register if you will)<br>
> and contains moves from one virtual to another. Though these are not<br>
> like memory but I could represent them as local variables and do<br>
> loads and stores; so I dont know how to represent it in C except as<br>
> local variables.<br>
</div><div><div></div><div class="h5">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div>