[LLVMdev] byval in a world without pointee types

Reid Kleckner rnk at google.com
Tue Mar 10 11:57:07 PDT 2015


On Mon, Mar 9, 2015 at 5:55 PM, Chandler Carruth <chandlerc at google.com>
wrote:
>
> On Mon, Mar 9, 2015 at 1:23 PM, Reid Kleckner <rnk at google.com> wrote:
>>
>> byval and inalloca are edge cases where we can afford to sacrifice some
>> readability.
>>
>
> So, inalloca, maybe.
>
> But I don't see why byval is more or less relevant than anything else
> here. If it makes sense to keep the type is a convenience for readabie IR
> and such in 'alloca' (and I agree that it does), I feel like it makes sense
> for byval as well.
>

Sure, I'd like to keep the type for both for readability, but I don't think
it's worth adding support for attributes that can reference Types.

Another thing to think about is that llvm.memcpy calls today aren't typed,
and we aren't trying to change that. byval is just a hidden memcpy, and as
such it takes a size.

Or you could think of it as a hidden FCA load/store pair.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150310/69f322a7/attachment.html>


More information about the llvm-dev mailing list