[llvm-dev] SRET consistency between declaration and call site

Joerg Sonnenberger via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 8 03:31:44 PDT 2015


On Wed, Oct 07, 2015 at 04:35:10PM -0700, Tim Northover wrote:
> > That seems to make it a pretty good case for consider sret mandatory in
> > general.
> 
> (Still) no more than any other type cast IMO. If you know what you're
> doing you can cast function pointers (at the LLVM level), otherwise
> you're going to get into trouble.

I think we are talking about two different things here. What I am
advocating is that callsite and function signature must have matching
ABI. I think we already enforce that for things like argument type, so
enforcing sret doesn't seem to be any different. I am not saying that
you should not be able to override it via manual bitcasting, but that's
a completely different topic. If you do that, you are on your own.

Joerg


More information about the llvm-dev mailing list