Displaying 20 results from an estimated 300 matches similar to: "[LLVMdev] Adding Intrinsics for custom processor (frotend problem)"
2009 Mar 04
0
[LLVMdev] Adding Intrinsics for custom processor (frotend, problem)
Luke Dalessandro wrote:
> Gil, it's really easy to add builtins to the llvm-gcc frontend and have
> them auto-magically converted to the llvm intrinsic versions. The main
> problem with this is that you end up with a non-standard front end that
> you have to somehow distribute to the people who need it. There may be
> funny licensing problems, etc... I don't really
2009 Mar 03
0
[LLVMdev] Adding Intrinsics for custom processor (frotend problem)
Personally I would just modify the frontend - it's not that hard once
you know where to look . In this case all you need to do is add the
declaration of your builtin to the TARGET_INIT_BUILTINS target hook (see
the gcc internals manual) defined in the gcc/config directory
corresponding to your target. If the name the the declaration matches
the name used with GCCBuiltin in the intrinsics
2009 Mar 04
1
[LLVMdev] Adding Intrinsics for custom processor (frotend problem)
Chris Lattner wrote:
> As others have mentioned, hacking the front-end isn't that hard. In
> any case though, please be aware that a precompiled binary for a non-
> MIPS target won't produce correct code if you are (for example) using
> an x86 front-end and forcing llc to generate mips code with llc -
> march=mips. The front-end does type layout and knows very ABI
2009 Feb 26
1
[LLVMdev] A simple question regarding LLVM intrinsics.
Hi. My name is Gil Dogon and I am working in MobileEye using LLVM in
order to generate code for a proprietary processor.
Our processor architecture is very similar to MIPS, so I started to work
using the "experimental" MIPS back end.
Anyway, my question is rather simple but somehow I did not find a quick
answer to it in the documentation.
What I want to know, is how can the
2009 Feb 26
1
[LLVMdev] A partial reply to the previous question and another one
OK , grepping the whole source tree for 'ctlz' I found the answer to my
question in:
test/FrontendC/2006-01-16-BitCountIntrinsicsUnsigned.c
and that is to use gnu frontend style __builtin_clz() for this one.
This test/FrontendC directory has a plethora of other usefull examples
so I guess It will be sufficient for me.
However I still think that some documentation of the frontend
[LLVMdev] A question about GetElementPtr common subexpression elimination/loop invariant code motion
2007 Jan 29
2
[LLVMdev] A question about GetElementPtr common subexpression elimination/loop invariant code motion
Hello.
I have a problem which is quite basic for array optimization, amd I
wonder whether I am missing something, but I could not
find the LLVM pass that does it.
Consider the following code snippet:
int test()
{
int mat[7][7][7];
int i,j,k,sum=0;
for(i=0;i<7;i++){
for(j=0;j<7;j++){
for(k=0;k<7;k++){
sum+=mat[i][j][k]^mat[i][j][k^1];
}
}
}
return
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
Hi,
On 03/30/2016 11:38 AM, Matt Arsenault wrote:
>
>> On Mar 30, 2016, at 11:35, Mikael Holmén <mikael.holmen at ericsson.com
>> <mailto:mikael.holmen at ericsson.com>> wrote:
>>
>> i16 (divm16_pseudo …)
>>
>> stuff?
>>
>> I've tried
>> (i16, i16 (divm16_pseudo i16:$src1, i16:$src2)
>> and
>> ((i16, i16)
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
Hi,
On my out-of-tree target I have an intrinsic
def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
[llvm_i16_ty, llvm_i16_ty],
[IntrNoMem]>;
that I want to translate to the following instruction during instruction
selection:
def divm16_pseudo : MyPseudoInst<
(outs aNh_0_7:$dst, aNh_0_7:$dst2),
(ins
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
On 03/30/2016 11:51 AM, Matt Arsenault wrote:
>
>> On Mar 30, 2016, at 11:43, Mikael Holmén <mikael.holmen at ericsson.com> wrote:
>>
>> Hi,
>>
>> On 03/30/2016 11:38 AM, Matt Arsenault wrote:
>>>
>>>> On Mar 30, 2016, at 11:35, Mikael Holmén <mikael.holmen at ericsson.com
>>>> <mailto:mikael.holmen at
2016 Dec 02
2
Handling argument for an intrinsic
Hi, I'm trying to implement a target-agnostic intrinsic, first targeting
X86. I'm trying to map the intrinsic SD node to an instruction with a
certain target opcode that I've introduced. The issue that I'm running into
is what the correct way to lower the argument is. I've done a couple loops
on the docs so any help would be appreciated!
Some options I've explored but have
2011 Nov 21
2
[LLVMdev] PTX builtin functions.
On Mon, Nov 21, 2011 at 11:45 AM, Alberto Magni
<alberto.magni86 at gmail.com>wrote:
> On Mon, Nov 21, 2011 at 3:36 PM, Justin Holewinski
> <justin.holewinski at gmail.com> wrote:
> > On Mon, Nov 21, 2011 at 7:01 AM, Alberto Magni <
> alberto.magni86 at gmail.com>
> > wrote:
> >>
> >> Hi Justin,
> >>
> >> attached you find
2015 Jun 17
3
[LLVMdev] design question on inlining through statepoints and patchpoints
I've been looking at inlining invokes / calls done through statepoints
and I want to have a design discussion before I sink too much time
into something I'll have to throw away. I'm not actively working on
adding inlining support to patchpoints, but I suspect these issues are
applicable towards teaching LLVM to inline through patchpoints as
well.
There are two distinct problems to
2011 Nov 22
2
[LLVMdev] PTX builtin functions.
Alberto,
The AMDIL backend solves your problem with intrinsic overloading this way:
def int_AMDIL_mad : GCCBuiltin<"__amdil_mad">, TernaryIntFloat;
Where TernaryIntFloat is defined as:
class TernaryIntFloat :
Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>,
LLVMMatchType<0>, LLVMMatchType<0>], []>;
This allows us to write a
2011 Dec 08
3
[LLVMdev] PTX builtin functions.
It is my understanding that all you need to do is specify let isTarget = 1 in your .td file and it will generate target specific intrinsics. This should allow you to keep the IntrinsicsPTX.td file in the same location.
Micah
From: Justin Holewinski [mailto:justin.holewinski at gmail.com]
Sent: Monday, December 05, 2011 6:13 AM
To: Alberto Magni
Cc: Villmow, Micah; LLVM Developers Mailing List
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
> On Mar 30, 2016, at 11:43, Mikael Holmén <mikael.holmen at ericsson.com> wrote:
>
> Hi,
>
> On 03/30/2016 11:38 AM, Matt Arsenault wrote:
>>
>>> On Mar 30, 2016, at 11:35, Mikael Holmén <mikael.holmen at ericsson.com
>>> <mailto:mikael.holmen at ericsson.com>> wrote:
>>>
>>> i16 (divm16_pseudo …)
>>>
2011 Dec 04
2
[LLVMdev] PTX builtin functions.
Hi Justin,
sorry for the delay, I have been busy.
Micah's proposal requires to move the definitions of the intrinsics
from include/llvm/IntrinsicsPTX.td to lib/Target/PTX/PTXIntrinsics.td
thus allowing the generation of the file PTXGenIntrinsics.inc which
will be included by PTXIntrinsicInfo.cpp.
This is a quite big modification, do you agree with this ?
Or do you have a better solution.
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
Hi,
On 03/30/2016 11:15 AM, Matt Arsenault wrote:
>
>> On Mar 30, 2016, at 09:33, Mikael Holmén via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi,
>>
>> On my out-of-tree target I have an intrinsic
>>
>> def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
>> [llvm_i16_ty, llvm_i16_ty],
>>
2010 Jul 23
4
[LLVMdev] Floating-Point Overflow check
Hi,
i need to check if an overflow of an floating-point arithmetic operation
occured.
Currently I'm doing something like this (for addition):
(LHS > 0 && RHS > 0 && sum <= 0) || (LHS < 0 && RHS < 0 && sum >= 0)
This is checked for every addition.
Is there a more efficient way like the intrisic for int overflow?
How is it possible to raise a
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
> On Mar 30, 2016, at 09:33, Mikael Holmén via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
> On my out-of-tree target I have an intrinsic
>
> def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
> [llvm_i16_ty, llvm_i16_ty],
> [IntrNoMem]>;
>
> that I want to translate to the
2011 Nov 23
2
[LLVMdev] PTX builtin functions.
On Nov 23, 2011 6:57 AM, "Alberto Magni" <alberto.magni86 at gmail.com> wrote:
>
> On Tue, Nov 22, 2011 at 5:01 PM, Villmow, Micah <Micah.Villmow at amd.com>
wrote:
> > Alberto,
> > The AMDIL backend solves your problem with intrinsic overloading this
way:
> > def int_AMDIL_mad : GCCBuiltin<"__amdil_mad">, TernaryIntFloat;
>