aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
diff options
context:
space:
mode:
authorAmara Emerson <amara@apple.com>2021-06-24 11:10:42 -0700
committerAmara Emerson <amara@apple.com>2021-06-24 23:35:47 -0700
commitf9b3840c3daf050d748f452a8105dfe661f8122e (patch)
treed8e0ce29f16e75f5008712d2ca62a72d865827bc /llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
parentab1bd255939e23117706d79698b93f933fb114f4 (diff)
downloadllvm-f9b3840c3daf050d748f452a8105dfe661f8122e.zip
llvm-f9b3840c3daf050d748f452a8105dfe661f8122e.tar.gz
llvm-f9b3840c3daf050d748f452a8105dfe661f8122e.tar.bz2
[ARM] Fix crash in chained BFI combine due to incorrectly RAUW'ing a node.
For a bfi chain like: a = bfi input, x, y b = bfi a, x', y' The previous code was RAUW'ing a with x, mutating the second 'b' bfi, and when SelectionDAG's CSE code ended up deleting it unexpectedly, bad things happend. There's no need to RAUW in this case because we can just return our newly created replacement BFI node. It also looked incorrect because it didn't account for other users of the 'a' bfi. Since it seems that chains of more than 2 BFI nodes are hard/impossible to produce without this combine kicking in at some point, I've removed that functionality since it had no test coverage. rdar://79095399 Differential Revision: https://reviews.llvm.org/D104868
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp')
0 files changed, 0 insertions, 0 deletions