mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-09 01:29:52 +00:00
3c8a4c6f47
Patch originally by Giorgis Georgakoudis (@ggeorgakoudis), typos and bugs introduced later by me. This patch allows us to remove redundant barriers if they are part of a "consecutive" pair of barriers in a basic block with no impacted memory effect (read or write) in-between them. Memory accesses to local (=thread private) or constant memory are allowed to appear. Technically we could also allow any other memory that is not used to share information between threads, e.g., the result of a malloc that is also not captured. However, it will be easier to do more reasoning once the code is put into an AA. That will also allow us to look through phis/selects reasonably. At that point we should also deal with calls, barriers in different blocks, and other complexities. Differential Revision: https://reviews.llvm.org/D118002 |
||
---|---|---|
.. | ||
OMP100.rst | ||
OMP101.rst | ||
OMP102.rst | ||
OMP110.rst | ||
OMP111.rst | ||
OMP112.rst | ||
OMP113.rst | ||
OMP120.rst | ||
OMP121.rst | ||
OMP130.rst | ||
OMP131.rst | ||
OMP132.rst | ||
OMP133.rst | ||
OMP140.rst | ||
OMP150.rst | ||
OMP160.rst | ||
OMP170.rst | ||
OMP180.rst | ||
OMP190.rst | ||
OptimizationRemarks.rst |