Displaying 14 results from an estimated 14 matches for "intrinsic_b".
Did you mean:
intrinsic_a
2017 Jan 21
2
[RFC] IR-level Region Annotations
...ental.intrinsic_a()[ "DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>
> %priv_i = omp_get_thread_num();
> compute_something_into_val(%priv_val, %priv_i);
> a[priv_i] = %priv_val;
>
> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
> ....
>
> I =
> Val =
> Foo(val, i).
> }
>
> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>
> Xinmin
>
> -----Original Message-----
> From: mehdi.amini at apple.com...
2017 Jan 20
9
[RFC] IR-level Region Annotations
Hi Sanjoy,
Yes, that's exactly what we have been looking at recently here, but the region tags seem to make it possible to express the control flow as well, so I think we could start with reg ions+metadata, as Hal and Xinmin proposed, and then figure out what needs to be first class instructions.
--Vikram Adve
> On Jan 19, 2017, at 11:03 PM, Sanjoy Das <sanjoy at
2017 Jan 20
5
[RFC] IR-level Region Annotations
...i32* val = alloca i32
> tok = llvm.experimental.intrinsic_a()[ "DIR.PARALLEL"(), "QUAL.PRIVATE"(i32* val), "QUAL.NUM_THREADS"(i32 4)]
>
> int i = omp_get_thread_num();
> compute_something_into_val(val, i);
> a[i] = val;
>
> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
> }
>
> With above representation, we can do privatization and outlining as below
>
> { void main() {
> i32* val = alloca i32
> i32* I = alloca 32
> tok = llvm.experimental.intrinsic_a()[ "DIR.PARALLEL"(), "QUAL.PRIVA...
2017 Feb 01
0
[RFC] IR-level Region Annotations
...ental.intrinsic_a()[ "DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>
> %priv_i = omp_get_thread_num();
> compute_something_into_val(%priv_val, %priv_i);
> a[priv_i] = %priv_val;
>
> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
> ....
>
> I =
> Val =
> Foo(val, i).
> }
>
> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>
> Xinmin
>
> -----Original Message-----
> From: mehdi.amini at apple.com...
2017 Feb 01
2
[RFC] IR-level Region Annotations
..."DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>>
>> %priv_i = omp_get_thread_num();
>> compute_something_into_val(%priv_val, %priv_i);
>> a[priv_i] = %priv_val;
>>
>> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
>> ....
>>
>> I =
>> Val =
>> Foo(val, i).
>> }
>>
>> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>>
>> Xinmin
>>
>> -----Original Messa...
2017 Feb 01
0
[RFC] IR-level Region Annotations
..."DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>>
>> %priv_i = omp_get_thread_num();
>> compute_something_into_val(%priv_val, %priv_i);
>> a[priv_i] = %priv_val;
>>
>> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
>> ....
>>
>> I =
>> Val =
>> Foo(val, i).
>> }
>>
>> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>>
>> Xinmin
>>
>> -----Original Messa...
2017 Feb 01
1
[RFC] IR-level Region Annotations
...t;(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>>>
>>> %priv_i = omp_get_thread_num();
>>> compute_something_into_val(%priv_val, %priv_i);
>>> a[priv_i] = %priv_val;
>>>
>>> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
>>> ....
>>>
>>> I =
>>> Val =
>>> Foo(val, i).
>>> }
>>>
>>> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>>>
>>> Xinmin...
2017 Jan 20
3
[RFC] IR-level Region Annotations
...= llvm.experimental.intrinsic_a()[ "DIR.PARALLEL"(),
>> "QUAL.PRIVATE"(i32* val), "QUAL.NUM_THREADS"(i32 4)]
>>
>> int i = omp_get_thread_num();
>> compute_something_into_val(val, i);
>> a[i] = val;
>>
>> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
>> }
>>
>> With above representation, we can do privatization and outlining as below
>>
>> { void main() {
>> i32* val = alloca i32
>> i32* I = alloca 32
>> tok = llvm.experimental.intrinsic_a()[ "DIR.PARA...
2017 Feb 01
0
[RFC] IR-level Region Annotations
...quot;(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>>>>
>>>> %priv_i = omp_get_thread_num();
>>>> compute_something_into_val(%priv_val, %priv_i);
>>>> a[priv_i] = %priv_val;
>>>>
>>>> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
>>>> ....
>>>>
>>>> I =
>>>> Val =
>>>> Foo(val, i).
>>>> }
>>>>
>>>> "Prepare phase" is our way of minimizing the impact to existing optimizations.
&...
2017 Feb 01
2
[RFC] IR-level Region Annotations
...* priv_i alloca 32
tok = llvm.experimental.intrinsic_a()[ "DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
%priv_i = omp_get_thread_num();
compute_something_into_val(%priv_val, %priv_i);
a[priv_i] = %priv_val;
llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
....
I =
Val =
Foo(val, i).
}
"Prepare phase" is our way of minimizing the impact to existing optimizations.
Xinmin
-----Original Message-----
From: mehdi.amini at apple.com<mailto:mehdi.amini at apple.com> [mailto:mehdi.amini at apple.com]...
2017 Feb 01
0
[RFC] IR-level Region Annotations
...rimental.intrinsic_a()[ "DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>
> %priv_i = omp_get_thread_num();
> compute_something_into_val(%priv_val, %priv_i);
> a[priv_i] = %priv_val;
>
> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
> ....
>
> I =
> Val =
> Foo(val, i).
> }
>
> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>
> Xinmin
>
> -----Original Message-----
> From: mehdi.amini at apple.com &l...
2017 Feb 01
2
[RFC] IR-level Region Annotations
...* priv_i alloca 32
tok = llvm.experimental.intrinsic_a()[ "DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
%priv_i = omp_get_thread_num();
compute_something_into_val(%priv_val, %priv_i);
a[priv_i] = %priv_val;
llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
....
I =
Val =
Foo(val, i).
}
"Prepare phase" is our way of minimizing the impact to existing optimizations.
Xinmin
-----Original Message-----
From: mehdi.amini at apple.com<mailto:mehdi.amini at apple.com> [mailto:mehdi.amini at apple.com]...
2017 Feb 01
1
[RFC] IR-level Region Annotations
...= llvm.experimental.intrinsic_a()[ "DIR.PARALLEL"(),
>> "QUAL.PRIVATE"(i32* val), "QUAL.NUM_THREADS"(i32 4)]
>>
>> int i = omp_get_thread_num();
>> compute_something_into_val(val, i);
>> a[i] = val;
>>
>> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
>> }
>>
>> With above representation, we can do privatization and outlining as
>> below
>>
>> { void main() {
>> i32* val = alloca i32
>> i32* I = alloca 32
>> tok = llvm.experimental.intrinsic_a()[ &quo...
2017 Feb 01
2
[RFC] IR-level Region Annotations
...rimental.intrinsic_a()[ "DIR.PARALLEL"(),"QUAL.PRIVATE"(i32* %priv_val, i32 %priv_i), "QUAL.NUM_THREADS"(i32 4)]
>
> %priv_i = omp_get_thread_num();
> compute_something_into_val(%priv_val, %priv_i);
> a[priv_i] = %priv_val;
>
> llvm.experimental.intrinsic_b(tok)["DIR.END.PARALLEL"()];
> ....
>
> I =
> Val =
> Foo(val, i).
> }
>
> "Prepare phase" is our way of minimizing the impact to existing optimizations.
>
> Xinmin
>
> -----Original Message-----
> From: mehdi.amini at apple.com &l...