[LLVMdev] Idea for Google Summer Code : C Compiler for EFI Byte Code implement in LLVM

琬菁楊 ching1119.cs96 at g2.nctu.edu.tw
Sat Apr 3 11:48:27 PDT 2010

Hello Chris, Rusell

> What about declaring that pointers are always 64 bits, for all
> > purposes other than final code generation of actual pointer
> > instructions? Would that solve the problem?
> Yep.  That would be a fine approach, and probably conformant to the spec.

I have some question about your disscussion.
the main difference is as follows:
>1. void*
>     In EFI C, the void* is 4-byte for 32-bit processor and 8-byte for
64-bit processor.
>     And it can appears in any where like ANSI C.
>     So the main problem is that struct layout like
>     struct S{
>         void* X;
>     };
>     is not static.
> 2. no floating support in EFI C
> 3. no C++ support in EFI C
> 4. no assembly support in EFI C, all assembly must convert to C
In my opinion, the main compiling process is C --a--> LLVM IR --b--> EBC
byte code
So as you say, solve the difference 2,3,4 in process a and assumed void * be
64-bit in process a
Then solve the difference 1 in process b??


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100404/11831732/attachment.html>

More information about the llvm-dev mailing list