Intrinsic mangling and typeless pointers

Rafael Espíndola via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 3 06:51:45 PDT 2016


On 3 October 2016 at 06:46, Artur Pilipenko <apilipenko at azulsystems.com> wrote:
> The only reason for intrinsic mangling is the way to get a unique symbolic
> name. One we have typeless pointers I expect that pointer arguments are
> mangled as ‘p’ and we won’t have any headache with remangling. But now we
> still can have two overloaded intrinsics which only differ by pointer type:
> declare @llvm.intrinsic(i8* p)
> declare @llvm.intrinsic(i32* p)

My thought was to allow overloading such that the above would be legal
IR, but I can see the annoyance in supporting that. Given that the
mangling becomes trivial once we have typeless pointers (and therefore
non-cyclic types), I guess there is nothing do to about it for now.

Thanks,
Rafael


More information about the llvm-commits mailing list