diff options
author | Nicolai Hähnle <[email protected]> | 2017-03-31 18:42:51 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-04-05 15:29:44 +0200 |
commit | 8b13b11f11ccb540831999a24701d2c4bd8dfe1c (patch) | |
tree | 424b90d7b3f32d5a9d98458a0daa7e96ffc5da1b /docs/egl.html | |
parent | 24d4fbe226c1f5b9a216d05c25737b4b14391975 (diff) |
radeonsi: optimization barriers to work around LLVM deficiencies
Notably, llvm.amdgcn.readfirstlane and llvm.amdgcn.icmp may be hoisted
out of loops or if/else branches in cases like
if (cond) {
v = readFirstInvocationARB(x);
... use v ...
} else {
v = readFirstInvocationARB(x);
... use v ...
}
===>
v = readFirstInvocationARB(x);
if (cond) {
... use v ...
} else {
... use v ...
}
The optimization barrier is a heavy hammer to stop that until LLVM
is taught the semantics of the intrinsic properly.
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'docs/egl.html')
0 files changed, 0 insertions, 0 deletions