1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/test
Silviu Baranga f1d9b77877 [LAA] Merge memchecks for accesses separated by a constant offset
Summary:
Often filter-like loops will do memory accesses that are
separated by constant offsets. In these cases it is
common that we will exceed the threshold for the
allowable number of checks.

However, it should be possible to merge such checks,
sice a check of any interval againt two other intervals separated
by a constant offset (a,b), (a+c, b+c) will be equivalent with
a check againt (a, b+c), as long as (a,b) and (a+c, b+c) overlap.
Assuming the loop will be executed for a sufficient number of
iterations, this will be true. If not true, checking against
(a, b+c) is still safe (although not equivalent).

As long as there are no dependencies between two accesses,
we can merge their checks into a single one. We use this
technique to construct groups of accesses, and then check
the intervals associated with the groups instead of
checking the accesses directly.

Reviewers: anemet

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D10386

llvm-svn: 241673
2015-07-08 09:16:33 +00:00
..
Analysis [LAA] Merge memchecks for accesses separated by a constant offset 2015-07-08 09:16:33 +00:00
Assembler Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
Bindings
Bitcode Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. 2015-07-02 16:22:40 +00:00
BugPoint
CodeGen [X86][SSE] Added (V)ROUNDSD + (V)ROUNDSS stack folding support 2015-07-08 08:07:57 +00:00
DebugInfo Revert "[DWARF] Fix debug info generation for function static variables, typedefs, and records" 2015-07-01 18:07:16 +00:00
ExecutionEngine [Mips] Add support for MCJIT for MIPS32r6 2015-07-06 12:50:55 +00:00
Feature
FileCheck
Instrumentation [SanitizerCoverage] Don't add instrumentation to unreachable blocks. 2015-06-30 23:11:45 +00:00
Integer
JitListener
LibDriver
Linker
LTO
MC [llvm-objdump] Print the call target next to the instruction 2015-07-07 22:06:59 +00:00
Object [yaml2obj] Use regex to match sections offsets. NFC 2015-07-08 06:57:24 +00:00
Other [llvm-extract] Drop comdats from declarations 2015-07-06 18:48:02 +00:00
SymbolRewriter
TableGen
tools llvm-objdump: Replace the -macho -raw option with a generic -raw-clang-ast 2015-07-08 02:04:15 +00:00
Transforms [LAA] Merge memchecks for accesses separated by a constant offset 2015-07-08 09:16:33 +00:00
Unit
Verifier Rename llvm.frameescape and llvm.framerecover to localescape and localrecover 2015-07-07 22:25:32 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh