[cfe-dev] thoughts about n-bit bytes for clang/llvm
rayfix.ml at gmail.com
Tue Sep 8 16:07:22 PDT 2009
On Sep 8, 2009, at 6:04 PM, Eli Friedman wrote:
> On Tue, Sep 8, 2009 at 2:32 PM, Ray Fix<rayfix.ml at gmail.com> wrote:
>> Still working on it.
> It doesn't really matter what void* translates to in the IR to;
> nothing should attempt to load from a void* or do arithmetic with it
> anyway. The use of i8* is purely tradition; I think you could change
> CodeGenTypes::ConvertNewType to use an arbitrary type without any
> trouble. And ExprConstant.cpp is at a the AST level, so it isn't
> really relevant here beyond the fact that we support void* arithmetic;
> we handle that explicitly in ScalarExprEmitter::EmitAdd and friends,
Thank you Eli! I *really* appreciate deep insights like that. I
now understand that it doesn't really matter for void, but I went
ahead and hacked up my version up to look better on my platform.
// LLVM void type can only be used as the result of a function
// map to the same as char.
return llvm::IntegerType::get(getLLVMContext(), 8);
For my platform that works nicely out to be i16.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev