aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-07-31 15:19:21 +0200
committerNikita Popov <npopov@redhat.com>2023-07-31 16:20:22 +0200
commit72ec2c007e4c5f46995c8f633a946cfa43da6bfb (patch)
tree4c2a8d78c5cf83758bcb59f8761607962406563c /llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
parent2cb6d0c70bff616cce4dbd4cbdffc085175c739f (diff)
downloadllvm-72ec2c007e4c5f46995c8f633a946cfa43da6bfb.zip
llvm-72ec2c007e4c5f46995c8f633a946cfa43da6bfb.tar.gz
llvm-72ec2c007e4c5f46995c8f633a946cfa43da6bfb.tar.bz2
[InstCombine] Fix handling of irreducible loops (PR64259)
Fixes a regression introduced by D75362 for irreducible control flow. In that case, we may visit the predecessor that renders the current block live only later, and incorrectly determine that a block is dead. Instead, switch to using the same DeadEdges based implementation we also use during the main InstCombine iteration. This temporarily regresses some cases that need replacement of dead phi operands with poison, which is currently only done during the main run, but not worklist population. This will be addressed in a followup, to keep it separate from the correctness fix here. Fixes https://github.com/llvm/llvm-project/issues/64259.
Diffstat (limited to 'llvm/lib/CodeGen/SwiftErrorValueTracking.cpp')
0 files changed, 0 insertions, 0 deletions