aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2022-12-14 19:23:55 -0500
committerMatt Arsenault <arsenm2@gmail.com>2023-02-19 20:13:38 -0400
commit28d8889d272590856e7e270aff66de080225d501 (patch)
tree4352cd17f24484da6b988531af40f7c83a5d094f /llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
parent66d64aac36a69d08509d5a00ef302ddf783e939f (diff)
downloadllvm-28d8889d272590856e7e270aff66de080225d501.zip
llvm-28d8889d272590856e7e270aff66de080225d501.tar.gz
llvm-28d8889d272590856e7e270aff66de080225d501.tar.bz2
AMDGPU: Teach fneg combines that select has source modifiers
We do match source modifiers for f32 typed selects already, but the combiner code was never informed of this. A long time ago the documentation lied and stated that source modifiers don't work for v_cndmask_b32 when they in fact do. We had a bunch fo code operating under the assumption that they don't support source modifiers, so we tried to move fnegs around to work around this. Gets a few small improvements here and there. The main hazard to watch out for is infinite loops in the combiner since we try to move fnegs up and down the DAG. For now, don't fold fneg directly into select. The generic combiner does this for a restricted set of cases when getNegatedExpression obviously shows an improvement for both operands. It turns out to be trickier to avoid infinite looping the combiner in conjunction with pulling out source modifiers, so leave this for a later commit.
Diffstat (limited to 'llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp')
0 files changed, 0 insertions, 0 deletions