aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Basic/SourceManagerTest.cpp
diff options
context:
space:
mode:
authorJay Foad <jay.foad@amd.com>2023-09-29 17:18:23 +0100
committerGitHub <noreply@github.com>2023-09-29 17:18:23 +0100
commit6e3d2a4b388288f32ed0441e5c9d1a1e3f886ad7 (patch)
treedd210bc901d43a97ddf114af9063394a89024089 /clang/unittests/Basic/SourceManagerTest.cpp
parent8ec50d64464c7e6804827d5f4f298366be535001 (diff)
downloadllvm-6e3d2a4b388288f32ed0441e5c9d1a1e3f886ad7.zip
llvm-6e3d2a4b388288f32ed0441e5c9d1a1e3f886ad7.tar.gz
llvm-6e3d2a4b388288f32ed0441e5c9d1a1e3f886ad7.tar.bz2
[ISel] Fix another crash in new FMA DAG combine (#67818)
Following on from D135150, this patch fixes another crash caused by this DAG combine: fadd (fma A, B, (fmul C, D)), E --> fma A, B, (fma C, D, E) The combine calls ReplaceAllUsesOfValueWith to replace (fmul C, D) with (fma C, D, E). This can cause nodes to get CSEd. In D135150 the problem was that the (fma C, D, E) node got CSEd away. In this new case, the problem is that the outer fadd node gets CSEd away. To fix it we have to return SDValue(N, 0) from the combine and be careful not to add a deleted node to the worklist.
Diffstat (limited to 'clang/unittests/Basic/SourceManagerTest.cpp')
0 files changed, 0 insertions, 0 deletions