diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-03-28 23:02:18 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-03-28 23:02:18 +0000 |
commit | 2d930db24f1d44a9d68c90cb7a1a58e76abd40da (patch) | |
tree | 261494a0eabcb3420fb3f25c73451ccbd669ab06 /lib/CodeGen/StackProtector.cpp | |
parent | a7b8c2b6a416052bd7b48d3c0d702d266c6ac3a2 (diff) | |
download | external_llvm-2d930db24f1d44a9d68c90cb7a1a58e76abd40da.zip external_llvm-2d930db24f1d44a9d68c90cb7a1a58e76abd40da.tar.gz external_llvm-2d930db24f1d44a9d68c90cb7a1a58e76abd40da.tar.bz2 |
In some cases, the "fail BB dominator" may be null after the BB was split (and
becomes reachable when before it wasn't). Check to make sure that it's not null
before trying to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128434 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/StackProtector.cpp')
-rw-r--r-- | lib/CodeGen/StackProtector.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/StackProtector.cpp b/lib/CodeGen/StackProtector.cpp index 02d8fd6..1a588e2 100644 --- a/lib/CodeGen/StackProtector.cpp +++ b/lib/CodeGen/StackProtector.cpp @@ -221,7 +221,8 @@ bool StackProtector::InsertStackProtectors() { BasicBlock *NewBB = BB->splitBasicBlock(RI, "SP_return"); if (DT && DT->isReachableFromEntry(BB)) { DT->addNewBlock(NewBB, BB); - FailBBDom = DT->findNearestCommonDominator(FailBBDom, BB); + if (FailBBDom) + FailBBDom = DT->findNearestCommonDominator(FailBBDom, BB); } // Remove default branch instruction to the new BB. |