llvm-project/llvm/lib
bmahjour f0af11d86f [DDG] Data Dependence Graph - Pi Block
Summary:
    This patch adds Pi Blocks to the DDG. A pi-block represents a group of DDG
    nodes that are part of a strongly-connected component of the graph.
    Replacing all the SCCs with pi-blocks results in an acyclic representation
    of the DDG. For example if we have:
       {a -> b}, {b -> c, d}, {c -> a}
    the cycle a -> b -> c -> a is abstracted into a pi-block "p" as follows:
       {p -> d} with "p" containing: {a -> b}, {b -> c}, {c -> a}
    In this implementation the edges between nodes that are part of the pi-block
    are preserved. The crossing edges (edges where one end of the edge is in the
    set of nodes belonging to an SCC and the other end is outside that set) are
    replaced with corresponding edges to/from the pi-block node instead.

    Authored By: bmahjour

    Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert

    Reviewed By: Meinersbur

    Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack

    Tag: #llvm

    Differential Revision: https://reviews.llvm.org/D68827
2019-11-08 15:46:08 -05:00
..
Analysis [DDG] Data Dependence Graph - Pi Block 2019-11-08 15:46:08 -05:00
AsmParser [IR] Add Freeze instruction 2019-11-05 15:54:56 +09:00
BinaryFormat [XCOFF][AIX] Differentiate usage of label symbol and csect symbol 2019-11-08 09:30:10 -05:00
Bitcode [ThinLTO] Import readonly vars with refs 2019-11-07 15:13:35 +03:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen [AArch64][X86] Don't assume __powidf2 is available on Windows. 2019-11-08 12:43:21 -08:00
DebugInfo DWARFDebugLoclists: Move to a incremental parsing model 2019-11-06 16:25:06 +01:00
Demangle [demangle] NFC: get rid of NodeOrString 2019-11-04 12:17:12 -08:00
ExecutionEngine [JITLink] Refactor EH-frame handling to support eh-frames with existing relocs. 2019-11-06 14:30:26 -08:00
FuzzMutate [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Fuzzer
IR [ThinLTO] Fix bug when importing writeonly variables 2019-11-08 20:50:34 +03:00
IRReader
LTO Fix compilation warning on the trailing whitespace. NFC. 2019-10-24 09:55:06 -04:00
LineEditor [CMake] Delete redundant DEPENDS/LINK_LIBS from LineEditor/XRay 2019-06-22 01:50:21 +00:00
Linker [IRMover] Set Address Space for moved global values 2019-11-05 16:32:48 -08:00
MC [XCOFF][AIX] Differentiate usage of label symbol and csect symbol 2019-11-08 09:30:10 -05:00
MCA [MCA] Fix a spelling mistake in a comment. NFC 2019-10-27 10:06:22 +00:00
Object Revert "[XCOFF] Fix link errors from explicit template instantiation" 2019-11-07 09:39:13 -08:00
ObjectYAML Fix a typo in my previous commit 2019-11-06 11:42:30 -08:00
Option [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
Passes [NewPM] Add an SROA pass after loop unroll 2019-11-01 14:59:08 -07:00
ProfileData [profile] Add a mode to continuously sync counter updates to a file 2019-10-31 16:04:09 -07:00
Remarks [Remarks] Add support for linking remarks 2019-10-31 15:26:55 -07:00
Support [clang] Add VFS support for sanitizers' blacklists 2019-11-08 10:58:50 -08:00
TableGen Add Record::getValueAsOptionalDef(). 2019-10-25 16:39:21 -07:00
Target [AArch64][X86] Don't assume __powidf2 is available on Windows. 2019-11-08 12:43:21 -08:00
Testing
TextAPI Reland "[TextAPI] Introduce TBDv4" 2019-10-10 04:24:44 +00:00
ToolDrivers [llvm-lib] Detect duplicate input files 2019-10-02 06:41:52 +00:00
Transforms Revert "[LV] Apply sink-after & interleave-groups as VPlan transformations (NFCI)" 2019-11-08 22:17:11 +02:00
WindowsManifest Fight a bit against global initializers. NFC. 2019-08-22 19:43:27 +00:00
XRay [llvm-xray] Add AArch64 to llvm-xray extract 2019-11-08 06:37:47 -08:00
CMakeLists.txt Fix build errors LLVM tests are disabled. 2019-07-11 22:08:35 +00:00
LLVMBuild.txt [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00