Hello Renato and all,<br><br>  I have few questions about your mail <br><br><div class="gmail_quote">2010/3/15 Renato Golin <span dir="ltr"><<a href="mailto:rengolin@systemcall.org">rengolin@systemcall.org</a>></span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">On 10 March 2010 16:57, Ú{µ×·¨ <<a href="mailto:ching1119.cs96@g2.nctu.edu.tw">ching1119.cs96@g2.nctu.edu.tw</a>> wrote:<br>

> I think the main issue is that EFI C dialect is not ANSI-C compliant: the<br>
> size of pointer is determined at the run-time and therefore the layout of<br>
> the structure is not static. Does LLVM support this model?<br>
<br>
</div>Hi Ching,<br>
<br>
The LLVM IR doesn't care about the size of your pointers, and this is<br>
why you have the 'datalayout' explicit on the object file. I don't<br>
know, however, if you can omit the layout definition and leave it for<br>
run time.<br></blockquote><div><br>As you say LLVM IR doesn't care the size of pointer, does it mean what I <br>only need to implement is the part that convert LLVM to EFI Byte code (just <br>like we regard native assembly) ??<br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
If LLVM doesn't allow omitting the layout, it should, as we now have<br>
an use case that needs it. If it does, it should be just a matter of<br>
converting the current IR into EFI bytecode and creating intrinsics to<br>
deal with the run-time variables. You could even benefit from having<br>
different languages (LLVM supports) into EFI bytecode...<br></blockquote><div><br>I feel sorry about I am not vary familer with structure of LLVM that I feel <br>some confuse.With turely <span class="dct-tt">appreciation</span> if you would explain more detail.<br>
thanks.<br></div><div><br>ching <br></div></div>