[LLVMdev] Overloaded intrinsics: name explosion

Ramkumar Ramachandra artagnon at gmail.com
Fri Jan 16 09:20:37 PST 2015


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.



More information about the llvm-dev mailing list