llvm/lib
Quentin Colombet e644b7743b Fix a bug in IfConverter with nested predicates.
Prior to this patch, IfConverter may widen the cases where a sequence of
instructions were executed because of the way it uses nested predicates. This
result in incorrect execution.

For instance, Let A be a basic block that flows conditionally into B and B be a
predicated block.
B can be predicated with A.BrToBPredicate into A iff B.Predicate is less
"permissive" than A.BrToBPredicate, i.e., iff A.BrToBPredicate subsumes
B.Predicate.

The IfConverter was checking the opposite: B.Predicate subsumes
A.BrToBPredicate.

<rdar://problem/14379453>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187071 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-24 20:20:37 +00:00
..
Analysis Treat nothrow forms of ::operator delete and ::operator delete[] as 2013-07-21 23:11:42 +00:00
AsmParser
Bitcode Add a wrapper for open. 2013-07-16 19:44:17 +00:00
CodeGen Fix a bug in IfConverter with nested predicates. 2013-07-24 20:20:37 +00:00
DebugInfo DebugInfo: Factor out parsing compile unit DIEs to a separate function. Improve code style and comments. 2013-07-15 08:43:35 +00:00
ExecutionEngine [mips] Use pristine object file while processing relocations. 2013-07-24 01:58:40 +00:00
IR Debug Info: improve the Finder. 2013-07-24 17:10:09 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker
MC Revert "Remove use of asymmetric std::lower_bound comparator." 2013-07-23 17:44:11 +00:00
Object Delete the buffer in createObjectFile if it fails. 2013-07-24 14:00:26 +00:00
Option Silence gcc warning. 2013-07-22 21:29:28 +00:00
Support Don't leak when expanding response files. 2013-07-24 14:32:01 +00:00
TableGen
Target [mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail 2013-07-24 18:43:52 +00:00
Transforms TRE: Move class into anonymous namespace. 2013-07-24 16:12:08 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile