Displaying 6 results from an estimated 6 matches for "__mca_code_region_start".
2018 Nov 15
2
[RFC][llvm-mca] Adding binary support to llvm-mca.
...39; form the region that can be analyzed by llvm-mca at a
later time.
Example
-----------
Before we go into the details of this proposed change, let's first look at a
simple example:
// example.c -- Analyze a dot-product expression.
double test(double x, double y) {
double result = 0.0;
__mca_code_region_start(42);
result += x * y;
__mca_code_region_end();
return result;
}
In the example above, we have identified a code region, in this case a single
dot-product expression. For the sake of brevity and simplicity, we've chosen
a very simple example, but in reality a more complicated example c...
2018 Nov 21
2
[RFC][llvm-mca] Adding binary support to llvm-mca.
...single region can only contain a single block.
> My understanding is that code regions are not allowed to overlap. So, it
> makes sense if ` __mca_code_region_end()` doesn't take an ID as input.
> However, what if ` __mca_code_region_end()` ends in a different basic block?
>
> `__mca_code_region_start()` has to always dominate `
> __mca_code_region_end()`. This is trivial to verify when both calls are in
> a same basic block; however, we need to make sure that the relationship is
> still the same when the `end()` call is in a different basic block.
> That would not be enough. I think...
2018 Nov 27
2
[RFC][llvm-mca] Adding binary support to llvm-mca.
...gt; My understanding is that code regions are not allowed to overlap. So,
> it
> > > makes sense if ` __mca_code_region_end()` doesn't take an ID as input.
> > > However, what if ` __mca_code_region_end()` ends in a different basic
> block?
> > >
> > > `__mca_code_region_start()` has to always dominate `
> > > __mca_code_region_end()`. This is trivial to verify when both calls
> are in
> > > a same basic block; however, we need to make sure that the
> relationship is
> > > still the same when the `end()` call is in a different basic block...
2018 Dec 03
2
[RFC][llvm-mca] Adding binary support to llvm-mca.
...wed to overlap. So,
> >> it
> >> > > makes sense if ` __mca_code_region_end()` doesn't take an ID as input.
> >> > > However, what if ` __mca_code_region_end()` ends in a different basic
> >> block?
> >> > >
> >> > > `__mca_code_region_start()` has to always dominate `
> >> > > __mca_code_region_end()`. This is trivial to verify when both calls
> >> are in
> >> > > a same basic block; however, we need to make sure that the
> >> relationship is
> >> > > still the same when t...
2018 Dec 10
2
[RFC][llvm-mca] Adding binary support to llvm-mca.
...; > makes sense if ` __mca_code_region_end()` doesn't take an ID as
>> input.
>> > >> > > However, what if ` __mca_code_region_end()` ends in a different
>> basic
>> > >> block?
>> > >> > >
>> > >> > > `__mca_code_region_start()` has to always dominate `
>> > >> > > __mca_code_region_end()`. This is trivial to verify when both
>> calls
>> > >> are in
>> > >> > > a same basic block; however, we need to make sure that the
>> > >> relationship is...
2018 Dec 10
4
[RFC][llvm-mca] Adding binary support to llvm-mca.
...;>> makes sense if ` __mca_code_region_end()` doesn't take an ID as
>>>> input.
>>>>>>>>> However, what if ` __mca_code_region_end()` ends in a different
>>>> basic
>>>>>>> block?
>>>>>>>>> `__mca_code_region_start()` has to always dominate `
>>>>>>>>> __mca_code_region_end()`. This is trivial to verify when both
>>>> calls
>>>>>>> are in
>>>>>>>>> a same basic block; however, we need to make sure that the
>>>>&...