1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib
Max Kazantsev 90a71c8d58 [SCEV][NFC] Remove TBB, FBB parameters from exit limit computations
Methods `computeExitLimitFromCondCached` and `computeExitLimitFromCondImpl` take
true and false branches as parameters and only use them for asserts and for identifying
whether true/false branch belongs to the loop (which can be done once earlier). This fact
complicates generalization of exit limit computation logic on guards because the guards
don't have blocks to which they go in case of failure explicitly.

The motivation of this patch is that currently this part of SCEV knows nothing about guards
and only works with explicit branches. As result, it fails to prove that a loop

  for (i = 0; i < 100; i++)
    guard(i < 10);

exits after 10th iteration, while in the equivalent example

  for (i = 0; i < 100; i++)
    if (i >= 10) break;

SCEV easily proves this fact. We are going to change it in near future, and this is why
we need to make these methods operate on more abstract level.

This patch refactors this code to get rid of these parameters as meaningless and prepare
ground for teaching these methods to work with guards as well as they work with explicit
branching instructions.

Differential Revision: https://reviews.llvm.org/D44419

llvm-svn: 327615
2018-03-15 09:38:00 +00:00
..
Analysis [SCEV][NFC] Remove TBB, FBB parameters from exit limit computations 2018-03-15 09:38:00 +00:00
AsmParser
BinaryFormat
Bitcode
CodeGen [FastISel] Sink local value materializations to first use 2018-03-14 21:54:21 +00:00
DebugInfo [DebugInfo] Add a new method IPDBSession::findLineNumbersBySectOffset 2018-03-15 06:04:51 +00:00
Demangle
ExecutionEngine [ORC] Re-apply r327566 with a fix for test-global-ctors.ll. 2018-03-15 00:30:14 +00:00
Fuzzer
FuzzMutate
IR
IRReader
LineEditor
Linker
LTO
MC [MC] Always emit relocations for same-section function references 2018-03-14 19:24:32 +00:00
Object
ObjectYAML
Option
Passes
ProfileData
Support
TableGen
Target [X86] Add support for matching FMSUBADD from build_vector. 2018-03-15 06:14:55 +00:00
Testing
ToolDrivers
Transforms Remove unused variable; NFC 2018-03-15 02:58:36 +00:00
WindowsManifest
XRay
CMakeLists.txt
LLVMBuild.txt