Hi everybody, I checked around examples for vararg intrinsics, but seems like no target or other parts in LLVM use intrinsics with llvm_vararg_ty as an input and adding such an intrinsics gives me a compiler error saying "unhandled MVT in intrinsics!". Are these kind of intrinsics still supported into LLVM? Cheers, Marcello
Hi Marcello,> I checked around examples for vararg intrinsics, but seems like no target or > other parts in LLVM use intrinsics with llvm_vararg_ty as an input and adding > such an intrinsics gives me a compiler error saying "unhandled MVT in intrinsics!". > > Are these kind of intrinsics still supported into LLVM?LLVM never supported varargs intrinsics, i.e. it never supported things like llvm.wonder_intrinsic(...) What is does support is intrinsic overloading, where you can have a version of wonder_intrinsic that takes a float argument, another that takes an i32 argument etc. It does this by giving each such version of the intrinsic a different name, by appending the type to the name. Ciao, Duncan.
Well, that explains why I found almost zero information about this online :D The source of my confusion was that I found some strange forum/posts of people talking about that googling , and I wrongly assumed llvm supported something like that at some point in time ... Cheers! Marcello On 17/05/13 08:46, Duncan Sands wrote:> Hi Marcello, > >> I checked around examples for vararg intrinsics, but seems like no >> target or >> other parts in LLVM use intrinsics with llvm_vararg_ty as an input >> and adding >> such an intrinsics gives me a compiler error saying "unhandled MVT in >> intrinsics!". >> >> Are these kind of intrinsics still supported into LLVM? > > LLVM never supported varargs intrinsics, i.e. it never supported > things like > llvm.wonder_intrinsic(...) > What is does support is intrinsic overloading, where you can have a > version > of wonder_intrinsic that takes a float argument, another that takes an > i32 > argument etc. It does this by giving each such version of the > intrinsic a > different name, by appending the type to the name. > > Ciao, Duncan. > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reasonably Related Threads
- [LLVMdev] Vararg Intrinsics still supported?
- [LLVMdev] Creation of Intrinsics with Pointer Return Types
- [LLVMdev] Creation of Intrinsics with Pointer Return Types
- [LLVMdev] Adding intrinsic with variable argument list HOWTO.
- [LLVMdev] [INCOMPLETE] [GC] Support wrapping vararg functions in statepoint