[ShrinkWrapping] Give up on irreducible CFGs.
authorQuentin Colombet <qcolombet@apple.com>
Thu, 7 Jan 2016 01:23:49 +0000 (01:23 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Thu, 7 Jan 2016 01:23:49 +0000 (01:23 +0000)
commit55c7a22c04d86ed5f1f201295ee6ef0695958536
tree4d9f2c1371cf134b25cfdcfc10821a106ecfc99a
parentecd5a90fab59c72b1b9c26495646a81ce977c6fc
[ShrinkWrapping] Give up on irreducible CFGs.
We need to know whether or not a given basic block is in a loop for the analysis
to be correct.
Loop information may be incomplete on irreducible CFGs, therefore we may
generate incorrect code if we use it in those situations.

This fixes PR25988.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257012 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/ShrinkWrap.cpp
test/CodeGen/X86/x86-shrink-wrapping.ll