1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test
Hal Finkel 62d1b738df [PowerPC] Fix LoopPreIncPrep not to depend on SCEV constant simplifications
Under most circumstances, if SCEV can simplify X-Y to a constant, then it can
also simplify Y-X to a constant. However, there is no guarantee that this is
always true, and concensus is not to consider that a correctness bug in SCEV
(although it is undesirable).

PPCLoopPreIncPrep gathers pointers used to access memory (via loads, stores and
prefetches) into buckets, where in each bucket the relative pointer offsets are
constant. We used to keep each bucket as a multimap, where SCEV's subtraction
operation was used to define the ordering predicate. Instead, use a fixed SCEV
base expression for each bucket, record the constant offsets from that base
expression, and adjust it later, if desirable, once all pointers have been
collected.

Doing it this way should be more compile-time efficient than the previous
scheme (in addition to making the implementation less sensitive to SCEV
simplification quirks).

Fixes PR25170.

llvm-svn: 252417
2015-11-08 08:04:40 +00:00
..
Analysis Fix LoopAccessAnalysis when potentially nullptr check are involved 2015-11-05 05:49:43 +00:00
Assembler DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Bindings Add a new attribute: norecurse 2015-11-06 10:32:53 +00:00
Bitcode Add 'notail' marker for call instructions. 2015-11-06 23:55:38 +00:00
BugPoint [bugpoint] Add a named metadata (+their operands) reducer 2015-11-06 00:12:50 +00:00
CodeGen [PowerPC] Fix LoopPreIncPrep not to depend on SCEV constant simplifications 2015-11-08 08:04:40 +00:00
DebugInfo DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Examples Disable llvm/test/Examples/ for now while investigating. 2015-08-28 03:32:43 +00:00
ExecutionEngine RuntimeDyld: add COFF i386 support 2015-11-01 01:26:15 +00:00
Feature [FunctionAttrs] Add handling for operand bundles 2015-11-07 01:56:00 +00:00
FileCheck
Instrumentation DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Integer [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
JitListener DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LibDriver
Linker Restore "Move metadata linking after lazy global materialization/linking." 2015-11-06 17:50:53 +00:00
LTO Add a new attribute: norecurse 2015-11-06 10:32:53 +00:00
MC Use SHT_X86_64_UNWIND on every OS. 2015-11-06 13:35:35 +00:00
Object Tests: be slightly more specific to avoid conflict with path. 2015-10-26 13:40:03 +00:00
Other Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
SymbolRewriter [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
TableGen [TableGen] Allow TokenTy in intrinsic signatures 2015-09-02 13:36:25 +00:00
tools DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Transforms [LoopStrengthReduce] Don't bother fixing up PHIs from EH Pad preds 2015-11-08 05:04:07 +00:00
Unit
Verifier DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
YAMLParser
.clang-format Add .clang-format without column limit to subdirectory tests/. 2013-11-19 04:26:05 +00:00
CMakeLists.txt [CMake] check-llvm requires llvm-pdbdump. 2015-10-15 13:22:38 +00:00
lit.cfg Suppress LLVM::tools/llvm-symbolizer/coff-dwarf.test for mingw, for now. 2015-10-10 02:57:02 +00:00
lit.site.cfg.in Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Makefile Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Makefile.tests
TestRunner.sh Use exec. 2010-08-29 14:49:00 +00:00