Displaying 20 results from an estimated 400 matches similar to: "[LLVMdev] Creation of Intrinsics with Pointer Return Types"
2008 May 07
0
[LLVMdev] Creation of Intrinsics with Pointer Return Types
Hello,
LLVM's intrinsic overloading mechanism does not currently support
overloading on pointer types. Patches to implement this would be
welcome.
Dan
On May 7, 2008, at 9:25 AM, aditya vishnubhotla wrote:
> Hi,
> I tried creating intrinsics which are to be
> placeholders for a set of instructions (actually a section of a
> basic block) to be executed elsewhere(for e.g. in
2008 Feb 19
2
[LLVMdev] Problem with variable argument intrinsics
Hi,
I tried creating variable argument intrinsics which
are to be placeholders 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 :
2008 Feb 19
0
[LLVMdev] Problem with variable argument intrinsics
On Feb 19, 2008, at 1:11 AM, aditya vishnubhotla wrote:
> Hi,
> I tried creating variable argument intrinsics which
> are to be placeholders 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
2008 Feb 20
1
[LLVMdev] Invalid intrinsic name error
Hi,
Thank You for the advice and we were able to solve
that problem by the following modifications to the
Instrinsics.td file.
But I now have an "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.
2016 Mar 21
1
define intrinsic function with pointer-typed parameter
Hi,
If I define a intrinsic function with pointer-typed parameter, for example,
def llvm_foo_ptr_ty : LLVMPointerType<llvm_i16_ty>;
def int_foo_get : Intrinsic<[llvm_foo_ptr_ty], [llvm_foo_ptr_ty,
llvm_i32_ty], [IntrReadArgMem]>;
How to lower it for the backend? I'm not sure what kind of register (i16 or
i32 or i32) is needed in this case? If the parameter is
2008 Mar 17
1
[LLVMdev] Adapting created intrinsics to PowerPC backend
Hi,
I have implemented intrinsics which are placeholders
for instructions executed elsewhere (e.g. in HW).
So i have two types of intrinsics migrate_begin and
migrate_end. Now i would like to make these intrinsics
known to the PowerPC backend. Since the hardware
initialization can not be implemented by one
instruction it has to be expanded to a library call or
lowered to something the ppc
2017 Jan 27
2
Preserving Call to Intrinsic function
Hello everyone,
Consider we have this following set of code:
int foo() {
int a,b;
a = __builtin_XX(0x11);
b = __builtin_XX(0x11);
return a+b;
}
The problem currently is that LLVM eliminated the second call and copied
the result from the first call into a new set of registers. Is there is a
way to force LLVM to generate two explicit calls to a builtin function. The
builtin takes in an integer
2008 Feb 12
0
[LLVMdev] Inrinsic Creation Problem
Hi,
I tried creating intrinsics which are to be
placeholders for some instructions 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],
2007 Feb 05
0
[LLVMdev] automatically generating intrinsic declarations
On Mon, 5 Feb 2007, Dan Gohman wrote:
> LLVM knows what all the types of the intrinsic functions are; I thought,
> why are users (including llvm-gcc...) required to duplicate all this
> information in order to use them? I mean in order to call
> getOrInsertFunction to get declarations for them.
That is an excellent question! :) In the bad old days, we used to allow
intrinsics
2007 Feb 05
2
[LLVMdev] automatically generating intrinsic declarations
LLVM knows what all the types of the intrinsic functions are; I thought,
why are users (including llvm-gcc...) required to duplicate all this
information in order to use them? I mean in order to call getOrInsertFunction
to get declarations for them.
So I wrote this patch, which allows all this code to be generated
automatically. Is this a good approach?
Dan
--
Dan Gohman, Cray Inc. <djg at
2008 Sep 15
1
[LLVMdev] Prevent a intrinsic to be reordered?
Nothing... I'll show you all the info related to:
The intrinsic: def int_soru_sre : Intrinsic<[llvm_void_ty, llvm_i32_ty],
[IntrWriteMem]>;
The lower instruction (in MIPS):
class SORUI<bits<6> op, dag outs, dag ins, string asmstr, list<dag> pattern,
InstrItinClass itin>: FI<op, outs, ins, asmstr, pattern, itin>
{
let isBarrier = 1; // or call,
2008 Sep 14
0
[LLVMdev] Prevent a intrinsic to be reordered?
Hello, Julio
> These later things are ignored, I don't know if when the intrinsic is
> lowered, then it doesn't matter (or perhaps the reorder is made
> before).
What is the description of the instruction you're lowering intrinsic
into? Have you looked for the instruction flags defined in Target.td
file? You instruction should definitely have "isBarrier" flag set.
2008 Sep 14
3
[LLVMdev] Prevent a intrinsic to be reordered?
Hello, I have an intrinsic that matches to a asm instruction directly. This
intrinsic starts a coprocessor that can do anything.
If I put another instruction next to it (a multiplication for example), the
"llc" reorders and puts the intrinsic after the multiplication.
I have tried all:
- Setting the instruction like if it takes 256 cycles or 0 cycles.
- Setting the instruction with
2019 Sep 03
2
Complex proposal v2
Krzysztof Parzyszek via llvm-dev <llvm-dev at lists.llvm.org> writes:
>> -----Original Message-----
>> From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of David Greene
>> via llvm-dev
>> Sent: Thursday, August 29, 2019 10:05 AM
>> To: llvm-dev <llvm-dev at lists.llvm.org>
>> Subject: [EXT] [llvm-dev] Complex proposal v2
>>
2008 Sep 08
3
[LLVMdev] Problems when refining type
Hi
I'm using the llvm-c wrapper, and trying to build some recursive types
(using released 2.3).
I get an assert on trying to create a second opaque pointer type after
refining a first.
The first time through creating an opaque pointer type, a new type is
created and returned from PointerType::get, but the second time,
ValueType (the opaque type) is found in the PointerTypes map, which
seems
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
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).
>
2008 Aug 22
3
[LLVMdev] Implementing llvm.memory.barrier on PowerPC
No, I don't.
Cheers,
Gary
Dale Johannesen wrote:
> This looks OK to check in, do you have write access?
>
> On Aug 21, 2008, at 6:38 AMPDT, Gary Benson wrote:
>
> >Dale Johannesen wrote:
> >>On Aug 19, 2008, at 7:18 AMPDT, Gary Benson wrote:
> >>>I'm trying to implement llvm.memory.barrier on PowerPC. I've
> >>>modelled my patch
2007 Feb 06
1
[LLVMdev] automatically generating intrinsic declarations
On Mon, Feb 05, 2007 at 12:28:56PM -0800, Chris Lattner wrote:
> On Mon, 5 Feb 2007, Dan Gohman wrote:
>
> > LLVM knows what all the types of the intrinsic functions are; I thought,
> > why are users (including llvm-gcc...) required to duplicate all this
> > information in order to use them? I mean in order to call
> > getOrInsertFunction to get declarations for
2015 Mar 09
2
[LLVMdev] LLVM Backend DAGToDAGISel INTRINSIC
I am currently working on DAGToDAGISel class for MIPS and am trying to
figure out a way to use INTRINSIC_W_CHAIN for an intrinsic which can return
a value.
My intrinsic is defined as:
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_i32_ty,llvm_i32_ty,llvm_i32_ty],[IntrReadWriteArgMem]>;
i.e. it has four arguments and one return value
In DAGToDAGISel when I try to pass it with four arguments and