[LLVMdev] Overloaded intrinsics: name explosion

Philip Reames listmail at philipreames.com
Fri Jan 16 10:41:13 PST 2015


On 01/16/2015 09:20 AM, Ramkumar Ramachandra wrote:
> Shahid, Asghar-ahmad wrote:
>> So an intrinsic declared with 'ifavpAny' can take different overloaded form such as
>>  From llvm.xyz(i32) to llvm.xyz(4xi32)
> Yes, that's correct. Just to fix the notation, let's use real code
> from my branch:
>
> def llvm_any_ty        : LLVMType<Any>;
> def int_experimental_gc_result   : Intrinsic<[llvm_any_ty], [llvm_i32_ty]>;
>
> Then:
>    %call1 = call i32* @llvm.experimental.gc.result.p0i32(...)
>    %call1 = call float @llvm.experimental.gc.result.f32(...)
>    %call1 = call zeroext i32 @llvm.experimental.gc.result.i32(...)
>    %call1 = call zeroext <2 x i32> @llvm.experimental.gc.result.v2i32(...)
>
> etc.
>
> I hope to have it properly functioning soon.
This looks great.  :)  Thanks for pursuing this.

Philip





More information about the llvm-dev mailing list