1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
Go to file
QingShan Zhang f8c2a4c0d9 [Scheduling] Create the missing dependency edges for store cluster
If it is load cluster, we don't need to create the dependency edges(SUb->reg) from SUb to SUa
as they both depend on the base register "reg"

     +-------+
+---->  reg  |
|    +---+---+
|        ^
|        |
|        |
|        |
|    +---+---+
|    |  SUa  |  Load 0(reg)
|    +---+---+
|        ^
|        |
|        |
|    +---+---+
+----+  SUb  |  Load 4(reg)
     +-------+

But if it is store cluster, we need to create it as follow shows to avoid the instruction store
depend on scheduled in-between SUb and SUa.

     +-------+
+---->  reg  |
|    +---+---+
|        ^
|        |         Missing       +-------+
|        | +-------------------->+   y   |
|        | |                     +---+---+
|    +---+-+-+                       ^
|    |  SUa  |  Store x 0(reg)       |
|    +---+---+                       |
|        ^                           |
|        |  +------------------------+
|        |  |
|    +---+--++
+----+  SUb  |  Store y 4(reg)
     +-------+

Reviewed By: evandro, arsenm, rampitec, foad, fhahn

Differential Revision: https://reviews.llvm.org/D72031
2020-08-07 04:58:03 +00:00
benchmarks
bindings [Bindings] Remove ipc_propagation. 2020-08-02 22:36:53 +01:00
cmake [CMake] Simplify CMake handling for zlib 2020-08-05 16:07:11 -07:00
docs fix doc typo to cycle bots 2020-08-06 21:02:41 -04:00
examples [llvm][examples][SimplifyCFG] Fix pass's IR changed reporting 2020-07-27 13:39:58 -06:00
include [StackSafety] Skip ambiguous lifetime analysis 2020-08-06 19:10:33 -07:00
lib [Scheduling] Create the missing dependency edges for store cluster 2020-08-07 04:58:03 +00:00
projects
resources
runtimes [CMake] Bump CMake minimum version to 3.13.4 2020-07-22 14:25:07 -04:00
test [Scheduling] Create the missing dependency edges for store cluster 2020-08-07 04:58:03 +00:00
tools [DWARFYAML][debug_info] Pull out dwarf::FormParams from DWARFYAML::Unit. 2020-08-06 16:39:00 +08:00
unittests [NewPM] Add callback for skipped passes 2020-08-06 18:58:59 -07:00
utils [gn build] mac: use frameworks instead of libs where appropriate 2020-08-06 18:58:57 -04:00
.clang-format
.clang-tidy
.gitattributes
.gitignore [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' 2020-07-07 14:53:45 +02:00
CMakeLists.txt [CMake] Bump CMake minimum version to 3.13.4 2020-07-22 14:25:07 -04:00
CODE_OWNERS.TXT Remove Olesen from LLVM code owners 2020-08-05 11:12:10 -07:00
configure
CREDITS.TXT [test commit] Add my name to the CREDITS.TXT 2020-07-24 12:05:53 -05:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2020-03-14 18:08:26 -07:00
RELEASE_TESTERS.TXT

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.