Name |
Last commit
|
Last update |
---|---|---|
.. | ||
include/internal | ||
rt | ||
ChangeLog | ||
Makefile.am | ||
Makefile.in | ||
README | ||
aclocal.m4 | ||
configure | ||
configure.ac | ||
configure.tgt | ||
target-config.h.in |
Add flag -fassume-phsa that is on by default. If -fno-assume-phsa is given, these optimizations are disabled. With this flag, gccbrig can generate GENERIC that assumes we are targeting a phsa-runtime based implementation, which allows us to expose the work-item context accesses to retrieve WI IDs etc. which helps optimizers. First optimization that takes advantage of this is to get rid of the setworkitemid calls whenever we have non-inlined calls that use IDs internally. Other optimizations added in this commit: - expand absoluteid to similar level of simplicity as workitemid. At the moment absoluteid is the best indexing ID to end up with WG vectorization. - propagate ID variables closer to their uses. This is mainly to avoid known useless casts, which confuse at least scalar evolution analysis. - use signed long long for storing IDs. Unsigned integers have defined wraparound semantics, which confuse at least scalar evolution analysis, leading to unvectorizable WI loops. - also refactor some BRIG function generation helpers to brig_function. - no point in having the wi-loop as a for-loop. It's really a do...while and SCEV can analyze it just fine still. - add consts to ptrs etc. in BRIG builtin defs. Improves optimization opportunities. - add qualifiers to generated function parameters. Const and restrict on the hidden local/private pointers, the arg buffer and the context pointer help some optimizations. From-SVN: r259957
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
include/internal | Loading commit data... | |
rt | Loading commit data... | |
ChangeLog | Loading commit data... | |
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
aclocal.m4 | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
configure.tgt | Loading commit data... | |
target-config.h.in | Loading commit data... |