search for: __mca_code_region_start

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 >>>>&...