summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ShadowStackGC.cpp
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2015-11-09 23:07:38 +0000
committerMichael Kruse <llvm@meinersbur.de>2015-11-09 23:07:38 +0000
commitd6fb6f1b0cb1c6c8515335d4f52a6973004ddaf2 (patch)
treeff8e60f42e7764269f0cd48ed0abc2bf631d5336 /llvm/lib/CodeGen/ShadowStackGC.cpp
parent1ad0146498b9b914523515853f6033f453f5cce2 (diff)
downloadbcm5719-llvm-d6fb6f1b0cb1c6c8515335d4f52a6973004ddaf2.tar.gz
bcm5719-llvm-d6fb6f1b0cb1c6c8515335d4f52a6973004ddaf2.zip
Fix dominance when subregion exit is outside scop
The dominance of the generated non-affine subregion block was based on the scop's merge block, therefore resulted in an invalid DominanceTree. It resulted in some values as assumed to be unusable in the actual generated exit block. We detect the case that the exit block has been moved and decide dominance using the BB at the original exit. If we create another exit node, that exit nodes is dominated by the one generated from where the original exit resides. This fixes llvm.org/PR25438 and part of llvm.org/PR25439. llvm-svn: 252526
Diffstat (limited to 'llvm/lib/CodeGen/ShadowStackGC.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud