Displaying 20 results from an estimated 25 matches for "llvm_vararg_ty".
2008 May 07
2
[LLVMdev] Creation of Intrinsics with Pointer Return Types
...uctions being replaced by them.<br>In the process I created a "migrate_begin" variable argument intrinsic which handles the incoming data dependenices to these set of instructions.<br>Entry in the Intrinsics.td file:<br>def int_migrate_begin : Intrinsic<[llvm_i32_ty,llvm_vararg_ty],[IntrWriteMem],"llvm.migrate_begin">;<br> <br>I want to replace the instructions from this set , having outgoing data dependencies, with " migrate_end " intrinsic instructions.<br>I created two migrate_end intrinsics with return types anyint(iAny Value Ty...
2008 May 07
0
[LLVMdev] Creation of Intrinsics with Pointer Return Types
...tions being replaced by them.
> In the process I created a "migrate_begin" variable argument
> intrinsic which handles the incoming data dependenices to these set
> of instructions.
> Entry in the Intrinsics.td file:
> def int_migrate_begin : Intrinsic<[llvm_i32_ty,llvm_vararg_ty],
> [IntrWriteMem],"llvm.migrate_begin">;
>
> I want to replace the instructions from this set , having outgoing
> data dependencies, with " migrate_end " intrinsic instructions.
> I created two migrate_end intrinsics with return types anyint(iAny
> Val...
2008 Feb 19
2
[LLVMdev] Problem with variable argument intrinsics
...ers for some instructions which
should not be executed by the backend.
Kindly help me with the errors in my "migrate_begin"
intrinsic creation
//Additions made to Intrinsics.td file:
def llvm_migrate_begin : LLVMType<iAny>;
def int_migrate_begin :
Intrinsic<[llvm_migrate_begin,llvm_vararg_ty],[IntrWriteMem],"llvm.migrate_begin">;
//A section of the code which deals with the
//"migrate_begin" intrinsic creation is as follows:
const Type **Tys=(const
Type**)calloc(extTys.size(),sizeof(Type*)); /*
extTys
vector contains data types(pointers) of formal
paramete...
2013 May 17
2
[LLVMdev] Vararg Intrinsics still supported?
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
2008 Feb 20
1
[LLVMdev] Invalid intrinsic name error
...This error occurs presumably because the created
intrinsic is named:
llvm.migrate_begin.i32
Intrinsics.gen checks for a string length of 18
(i.e. the length without the .i32).
Kindly help me through it.
//Additions made to Intrinsics.td file:
def int_migrate_begin :
Intrinsic<[llvm_i32_ty,llvm_vararg_ty],
[IntrWriteMem],"llvm.migrate_begin">;
//A section of the code which deals with the
//"migrate_begin" intrinsic creation is as follows:
const Type **Tys=(const
Type**)calloc(extTys.size(),sizeof(Type*));
/*extTys vector contains function type of the
function "f&...
2008 Feb 19
0
[LLVMdev] Problem with variable argument intrinsics
...be executed by the backend.
>
> Kindly help me with the errors in my "migrate_begin"
> intrinsic creation
>
> //Additions made to Intrinsics.td file:
>
> def llvm_migrate_begin : LLVMType<iAny>;
> def int_migrate_begin :
> Intrinsic<[llvm_migrate_begin,llvm_vararg_ty],
> [IntrWriteMem],"llvm.migrate_begin">;
This says that the return type is overloaded (because it's iAny). But
that's
the only overloaded part here; using variadic argument lists is
different
from overloading.
>
>
> Overloaded intrinsic has incorrect suffix:...
2007 Aug 01
2
[LLVMdev] Adding custom operation intrinsic for ASIP architectures.
...8:$src)]>;
>
> There is corresponding code in llvm-gcc to tell GCC how to handle this
> builtin. Is this what you're looking for?
>
Yes this is more or less, what we are looking for, except we need
variable arguments for out intrinsic. I assume that it can be achieved
by using llvm_vararg_ty as a argument type?
Is there need to make changes to llvm-gcc for supporting new GCCBuiltin
types that I define or are all of them automatically converted to
intrinsics on gcc side?
Mikael Lepistö
2020 Oct 05
2
Question about using IRBuilder::CreateIntrinsic for a variadic intrinsic
I have a variadic intrinsic that is defined as something like this:
def int_foobar : Intrinsic<[llvm_anyint_ty],
[llvm_vararg_ty],
[IntrNoMem, IntrSpeculatable]>;
When I construct a call to the above intrinsic with IRBuilder::CreateIntrinsic, it mangles the intrinsic name with the return type (i64) and the actual argument types i32.i32. The mangled name then becomes @llvm.foobar.i64.i32....
2013 May 17
0
[LLVMdev] Vararg Intrinsics still supported?
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(...)
Wha...
2007 Aug 02
0
[LLVMdev] Adding custom operation intrinsic for ASIP architectures.
...gt; There is corresponding code in llvm-gcc to tell GCC how to handle this
>> builtin. Is this what you're looking for?
>>
>Yes this is more or less, what we are looking for, except we need
>variable arguments for out intrinsic. I assume that it can be achieved
>by using llvm_vararg_ty as a argument type?
Sure, that can be done. What sort of operations require variable
arguments? It might be better implemented with pattern matching in the
code generator than as an intrinsic.
> Is there need to make changes to llvm-gcc for supporting new GCCBuiltin
> types that I defi...
2008 Jan 25
1
[LLVMdev] variable arguement intrinsics
hi
I want to use two intrinsic functions which should be
placeholders
for some instructions which should not be executed by
the backend.
So these two intrinsics should just keep the data
dependencies while i
try to
separate set of instructions(with more of data flow)
to be executed on
hardware.
One intrinsic which takes care of the data
dependencies required for
proper
execution of the
2007 Aug 03
1
[LLVMdev] Adding intrinsic with variable argument list HOWTO.
...ally
my first contact with InstrInfo.td files. Is there any tutorial how to
make this kind of stuff? Or should I just keep on studying Sparc and
other backends?
So I added new intrinsic to llvm/include/llvm/TCEInstrinsics.td:
def int_tce_customop :
Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_vararg_ty], [],
"llvm.tce.customop">;
I made opt pass that converts __custom_op() functions to calls to
llvm.tce.customop calls.
shell> grep llvm.tce.customop hello2.ll
tail call void (i8*, ...)* @llvm.tce.customop( i8* getelementptr
([7 x i8]* @.str, i32 0, i32 0), i32 %tmp78 )...
2017 Jan 20
2
[RFC] IR-level Region Annotations
...nsic<[],
> > [llvm_metadata_ty, llvm_any_ty],
> > [IntrArgMemOnly],
> > "llvm.experimental.dir.qual.opnd">;
> >
> > def int_experimental_dir_qual_opndlist : Intrinsic<
> > [],
> > [llvm_metadata_ty, llvm_vararg_ty],
> > [IntrArgMemOnly],
> > "llvm.experimental.dir.qual.opndlist">;
> >
> >
> I'll bite.
>
> What does argmemonly mean when the operands are metadata/?
> :)
>
> If the rest is an attempt to keep the intrinsic from being floated or
> re...
2008 Feb 12
0
[LLVMdev] Inrinsic Creation Problem
...s which should not be
executed by the backend.
Kindly help me with the errors in my "migrate_begin"
intrinsic creation
The following are the additions made to the
Intrinsics.td file
def llvm_migrate_begin : LLVMType<iAny>;
def int_migrate_begin :
Intrinsic<[llvm_migrate_begin,llvm_vararg_ty],
[IntrWriteMem],"llvm.migrate_begin">;
A section of the code which deals with the
"migrate_begin" intrinsic creation is as follows
const Type **Tys=(const Type**)calloc(extTys.size(),sizeof(Type*)); /* extTys
vector contains data types(pointers) of formal parameters of t...
2007 Aug 02
1
[LLVMdev] Adding custom operation intrinsic for ASIP architectures.
...to tell GCC how to handle this
>>> builtin. Is this what you're looking for?
>>>
>>>
>> Yes this is more or less, what we are looking for, except we need
>> variable arguments for out intrinsic. I assume that it can be achieved
>> by using llvm_vararg_ty as a argument type?
>>
>
> Sure, that can be done. What sort of operations require variable
> arguments? It might be better implemented with pattern matching in the
> code generator than as an intrinsic.
>
Need for variable arguments is that we don't know before...
2007 Aug 01
0
[LLVMdev] Adding custom operation intrinsic for ASIP architectures.
On Tue, 31 Jul 2007, [ISO-8859-1] Mikael Lepist� wrote:
> I was talking with aKor in #llvm how we could implement custom operation
> support for our ASIP architecture. We came into solution that the best
> way would be to write new custom operation intrinsic and optimization
> pass for raising certain type of function calls to those intrinsics
> (similar to raising mallocs).
>
2007 Jul 31
3
[LLVMdev] Adding custom operation intrinsic for ASIP architectures.
Hi,
I was talking with aKor in #llvm how we could implement custom operation
support for our ASIP architecture. We came into solution that the best
way would be to write new custom operation intrinsic and optimization
pass for raising certain type of function calls to those intrinsics
(similar to raising mallocs).
Basically our custom operation are like calls, with operand name and
multiple
2017 Jan 11
10
[RFC] IR-level Region Annotations
...ntal.dir.qual">;
def int_experimental_dir_qual_opnd : Intrinsic<[],
[llvm_metadata_ty, llvm_any_ty],
[IntrArgMemOnly],
"llvm.experimental.dir.qual.opnd">;
def int_experimental_dir_qual_opndlist : Intrinsic<
[],
[llvm_metadata_ty, llvm_vararg_ty],
[IntrArgMemOnly],
"llvm.experimental.dir.qual.opndlist">;
Note that calls to these intrinsics might need to be annotated with the
convergent attribute when they represent fork/join operations, barriers,
and
similar.
Usage Examples
==============
This section shows a few examples...
2017 Jan 11
2
[RFC] IR-level Region Annotations
...ental.dir.qual">;
def int_experimental_dir_qual_opnd : Intrinsic<[],
[llvm_metadata_ty, llvm_any_ty],
[IntrArgMemOnly],
"llvm.experimental.dir.qual.opnd">;
def int_experimental_dir_qual_opndlist : Intrinsic<
[],
[llvm_metadata_ty, llvm_vararg_ty],
[IntrArgMemOnly],
"llvm.experimental.dir.qual.opndlist">;
Note that calls to these intrinsics might need to be annotated with the
convergent attribute when they represent fork/join operations, barriers, and
similar.
Usage Examples
==============
This section shows a few examples u...
2017 Jan 11
3
[RFC] IR-level Region Annotations
...: Intrinsic<[],
>> [llvm_metadata_ty, llvm_any_ty],
>> [IntrArgMemOnly],
>> "llvm.experimental.dir.qual.opnd">;
>>
>> def int_experimental_dir_qual_opndlist : Intrinsic<
>> [],
>> [llvm_metadata_ty, llvm_vararg_ty],
>> [IntrArgMemOnly],
>> "llvm.experimental.dir.qual.opndlist">;
>>
>> Note that calls to these intrinsics might need to be annotated with the
>> convergent attribute when they represent fork/join operations, barriers,
>> and
>> similar.
>&...