summaryrefslogtreecommitdiffstats
path: root/include/c11
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2014-01-24 14:25:46 +0000
committerJosé Fonseca <[email protected]>2014-01-28 14:27:27 +0000
commit2eddf91faf4abf0b3d7b81a0a486fd46d5acd1ea (patch)
tree48548a0c22a5f73b21bd3aa88f47bd6b2a7d5f14 /include/c11
parent37f1903e007e30892ce39e6e2493c9e88dacf7cc (diff)
gallivm: Workaround http://llvm.org/PR18600
We have code generation paths that carry out swizzles of AoS vectors via bitwise shifts, as these tend to generate more efficient code than straightforward byte shuffles. But when the input is a constant the additional bitwise arithmetic operations somehow don't really get constant propagated properly, evenutally causing assertion failure in InstCombine pass. Therefore avoid the bug by using the trivial shuffles for constant inputs. Although the sample LLVM IR can cause a crash with any LLVM version, this was only seen in practice with LLVM 3.2. Reviewed-by: Matthew McClure <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'include/c11')
0 files changed, 0 insertions, 0 deletions