Displaying 8 results from an estimated 8 matches similar to: "[LLVMdev] LowerINTRINSIC_W_CHAIN in X86"
2014 Jul 23
2
[LLVMdev] LowerINTRINSIC_W_CHAIN in X86
Yeah.
I agree that "Chain operand is needed if the intrinsic is reading / writing memory.”,
Just don’t know where and how to set it up.
like intrinsic “int_x86_xtest:
“
def int_x86_xtest : GCCBuiltin<"__builtin_ia32_xtest">,
Intrinsic<[llvm_i32_ty], [], []>;
“
"def X86xtest: SDNode<"X86ISD::XTEST", SDTypeProfile<1, 0,
2014 Jul 18
3
[LLVMdev] how to define INTRINSIC_W_CHAIN
Hi guys,
I am working on an intrinsic function, which will write to a pointer argument.
So I am lowering it and think I need to catch it in lowerINTRINSIC_W_CHAIN, but somehow it always fall into INTRINSIC_WO_CHAIN category.
I put [IntrReadwriteArgMem] into my Intrinsic class definition, it did not help.
tried put [SDNPHasChain] into intrinsic class definition, cause errors” Element type
2014 Jul 18
2
[LLVMdev] how to define INTRINSIC_W_CHAIN
en!
my test is : %r1 = call<float> @test.adddiv( <float> %r0, <float>* %p0).
since
>> but somehow it always fall into INTRINSIC_WO_CHAIN category.
(caught it in lowering..)
I think it doesn’t have chain in initial DAG.
unfortunately the intrinsic “test.adddiv” is defined by me for now. not sure how to make it has a chain.
kevin
On Jul 18, 2014, at 3:06 PM,
2014 Jul 18
2
[LLVMdev] how to define INTRINSIC_W_CHAIN
sure!
class TEST_INTINSIC_FM< string asmstr> : Intrinsic
<llvm_i32_ty], [llvm_i32_ty, llvm_ptr_ty],
[IntrReadWriteArgMem],
!strconcat(“llvm.test”, asmstr),”.float”)
>;
tks
On Jul 18, 2014, at 4:06 PM, Tom Stellard <tom at stellard.net> wrote:
> On Fri, Jul 18, 2014 at 03:19:47PM -0400, kewuzhang wrote:
>> en!
>>
>> my test is : %r1 =
2010 Nov 08
2
[LLVMdev] Creating tablegen patterns for intrinsics with no return value.
I have intrinsic with no return value and I need to match them to machine instructions. If the instruction has a return value I am able to correctly match it, but if I try to create some tablegen code that has no return value, the instruction gets deleted.
Here is my profile/node/pattern.
Profile:
def SDTIL_BinAtomNoRet : SDTypeProfile<0, 3, [
SDTCisPtrTy<0>, SDTCisVT<1, i32>,
2014 Jul 18
2
[LLVMdev] how to define INTRINSIC_W_CHAIN
Tks Tom,
That is my confusing part. How can I make it to "access memory” so it will HasChain?
Is there any flag set like in typeProfile, Node, instructions? myLoad, mayStore, SDNPHasChain?
-kevin
On Jul 18, 2014, at 4:26 PM, Tom Stellard <tom at stellard.net> wrote:
> On Fri, Jul 18, 2014 at 04:15:45PM -0400, kewuzhang wrote:
>> sure!
>>
>> class
2010 Nov 08
0
[LLVMdev] Creating tablegen patterns for intrinsics with no return value.
On Nov 8, 2010, at 10:32 AM, Villmow, Micah wrote:
> I have intrinsic with no return value and I need to match them to machine instructions. If the instruction has a return value I am able to correctly match it, but if I try to create some tablegen code that has no return value, the instruction gets deleted.
Hi Micah,
>From your description it sounds like machine dead code elimination is
2010 Nov 08
1
[LLVMdev] Creating tablegen patterns for intrinsics with no return value.
> -----Original Message-----
> From: Jim Grosbach [mailto:grosbach at apple.com]
> Sent: Monday, November 08, 2010 10:41 AM
> To: Villmow, Micah
> Cc: LLVM Developers Mailing List
> Subject: Re: [LLVMdev] Creating tablegen patterns for intrinsics with
> no return value.
>
>
> On Nov 8, 2010, at 10:32 AM, Villmow, Micah wrote:
>
> > I have intrinsic with no