1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test
Piotr Padlewski 9032a3fc4f [Devirtualization] MemDep returns non-local !invariant.group dependencies
Summary:
Memory Dependence Analysis was limited to return only local dependencies
for invariant.group handling. Now it returns NonLocal when it finds it
and then by asking getNonLocalPointerDependency we get found dep.

Thanks to this we are able to devirtualize loops!

    void indirect(A &a, int n) {
      for (int i = 0 ; i < n; i++)
        a.foo();

    }
    void test(int n) {
      A a;
      indirect(a);
    }

After inlining a.foo() will be changed to direct call, even if foo and A::A()
is external (but only if vtable definition is be available).

Reviewers: nlewycky, dberlin, chandlerc, rsmith

Subscribers: mehdi_amini, davide, llvm-commits

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

llvm-svn: 291762
2017-01-12 11:33:58 +00:00
..
Analysis [SCEV] Make howFarToZero max backedge-taken count check for precondition. 2017-01-11 21:07:15 +00:00
Assembler [DebugInfo] Added support for Checksum debug info feature. 2016-12-25 10:12:09 +00:00
Bindings [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
Bitcode [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
BugPoint
CodeGen [AVX-512] Improve lowering of zero_extend of v4i1 to v4i32 and v2i1 to v2i64 with VLX, but no DQ or BW support. 2017-01-12 06:49:12 +00:00
DebugInfo Correct object file for implicit const test 2017-01-10 21:30:42 +00:00
Examples
ExecutionEngine RuntimeDyldELF: implement R_AARCH64_PREL64 reloc 2017-01-10 11:05:30 +00:00
Feature
FileCheck Commit a test for match-full-lines. 2017-01-09 23:11:25 +00:00
Instrumentation [asan] Set alignment of __asan_global_* globals to sizeof(GlobalStruct) 2017-01-11 22:26:10 +00:00
Integer
JitListener [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
LibDriver
Linker Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
LTO Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
MC [AMDGPU] Assembler: SDWA/DPP should not accept scalar registers and immediate operands 2017-01-11 11:46:30 +00:00
Object
ObjectYAML [ObjectYAML] Missed one mixup in the debug_line test 2017-01-10 06:24:24 +00:00
Other [PM] Rewrite the loop pass manager to use a worklist and augmented run 2017-01-11 06:23:21 +00:00
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Fix assertions on lazy-loading of Metadata TBAA attachments 2017-01-07 20:24:23 +00:00
tools [XRay] Implement the llvm-xray account subcommand 2017-01-12 07:38:13 +00:00
Transforms [Devirtualization] MemDep returns non-local !invariant.group dependencies 2017-01-12 11:33:58 +00:00
Unit
Verifier [TBAAVerifier] Be stricter around verifying scalar nodes 2016-12-29 15:47:05 +00:00
YAMLParser
.clang-format
CMakeLists.txt [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
lit.cfg [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
lit.site.cfg.in [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
TestRunner.sh