FailedChanges

Summary

  1. Revert "Data Dependence Graph Basics" This reverts commit c98ec60993a7aa65073692b62f6d728b36e68ccd, which broke the sphinx-docs build.
  2. NVPTXAsmPrinter - Don't dereference a dyn_cast result. NFCI.
  3. WasmEmitter - Don't dereference a dyn_cast result. NFCI.
  4. [AArch64][GlobalISel][NFC] Refactor tail call lowering code When you begin implementing -tailcallopt, this gets somewhat hairy. Refactor the call lowering code so that the tail call lowering stuff gets its own function. Differential Revision: https://reviews.llvm.org/D67577
  5. gn build: Merge r372162
  6. Data Dependence Graph Basics Summary: This is the first patch in a series of patches that will implement data dependence graph in LLVM. Many of the ideas used in this implementation are based on the following paper: D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND COMPILER OPTIMIZATIONS. This patch contains support for a basic DDGs containing only atomic nodes (one node for each instruction). The edges are two fold: def-use edges and memory-dependence edges. The implementation takes a list of basic-blocks and only considers dependencies among instructions in those basic blocks. Any dependencies coming into or going out of instructions that do not belong to those basic blocks are ignored. The algorithm for building the graph involves the following steps in order: 1. For each instruction in the range of basic blocks to consider, create an atomic node in the resulting graph. 2. For each node in the graph establish def-use edges to/from other nodes in the graph. 3. For each pair of nodes containing memory instruction(s) create memory edges between them. This part of the algorithm goes through the instructions in lexicographical order and creates edges in reverse order if the sink of the dependence occurs before the source of it. Authored By: bmahjour Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert Reviewed By: Meinersbur, fhahn, myhsu Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto Tag: #llvm Differential Revision: https://reviews.llvm.org/D65350
  7. [docs][Bugpoint] Revert 5584ead50 a5aa3353 No sure why there are still warnings, revert while I investigate.
Revision 372168 by bmahjour:
Revert "Data Dependence Graph Basics"

This reverts commit c98ec60993a7aa65073692b62f6d728b36e68ccd, which broke the sphinx-docs build.
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/docs/DependenceGraphsllvm.src/docs/DependenceGraphs
The file was modified/llvm/trunk/docs/SubsystemDocumentation.rst (diff)llvm.src/docs/SubsystemDocumentation.rst
The file was removed/llvm/trunk/include/llvm/Analysis/DDG.hllvm.src/include/llvm/Analysis/DDG.h
The file was removed/llvm/trunk/include/llvm/Analysis/DependenceGraphBuilder.hllvm.src/include/llvm/Analysis/DependenceGraphBuilder.h
The file was modified/llvm/trunk/lib/Analysis/CMakeLists.txt (diff)llvm.src/lib/Analysis/CMakeLists.txt
The file was removed/llvm/trunk/lib/Analysis/DDG.cppllvm.src/lib/Analysis/DDG.cpp
The file was removed/llvm/trunk/lib/Analysis/DependenceGraphBuilder.cppllvm.src/lib/Analysis/DependenceGraphBuilder.cpp
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cpp (diff)llvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/lib/Passes/PassRegistry.def (diff)llvm.src/lib/Passes/PassRegistry.def
The file was removed/llvm/trunk/test/Analysis/DDGllvm.src/test/Analysis/DDG
Revision 372166 by rksimon:
NVPTXAsmPrinter - Don't dereference a dyn_cast result. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp (diff)llvm.src/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Revision 372165 by rksimon:
WasmEmitter - Don't dereference a dyn_cast result. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ObjectYAML/WasmEmitter.cpp (diff)llvm.src/lib/ObjectYAML/WasmEmitter.cpp
Revision 372164 by paquette:
[AArch64][GlobalISel][NFC] Refactor tail call lowering code

When you begin implementing -tailcallopt, this gets somewhat hairy. Refactor
the call lowering code so that the tail call lowering stuff gets its own
function.

Differential Revision: https://reviews.llvm.org/D67577
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.h
Revision 372163 by gnsyncbot:
gn build: Merge r372162
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Revision 372162 by bmahjour:
Data Dependence Graph Basics

Summary:
This is the first patch in a series of patches that will implement data dependence graph in LLVM. Many of the ideas used in this implementation are based on the following paper:
D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND COMPILER OPTIMIZATIONS.
This patch contains support for a basic DDGs containing only atomic nodes (one node for each instruction). The edges are two fold: def-use edges and memory-dependence edges.
The implementation takes a list of basic-blocks and only considers dependencies among instructions in those basic blocks. Any dependencies coming into or going out of instructions that do not belong to those basic blocks are ignored.

The algorithm for building the graph involves the following steps in order:

  1. For each instruction in the range of basic blocks to consider, create an atomic node in the resulting graph.
  2. For each node in the graph establish def-use edges to/from other nodes in the graph.
  3. For each pair of nodes containing memory instruction(s) create memory edges between them. This part of the algorithm goes through the instructions in lexicographical order and creates edges in reverse order if the sink of the dependence occurs before the source of it.

Authored By: bmahjour

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

Reviewed By: Meinersbur, fhahn, myhsu

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

Tag: #llvm

Differential Revision: https://reviews.llvm.org/D65350
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/docs/DependenceGraphsllvm.src/docs/DependenceGraphs
The file was added/llvm/trunk/docs/DependenceGraphs/DDG.rstllvm.src/docs/DependenceGraphs/DDG.rst
The file was added/llvm/trunk/docs/DependenceGraphs/cycle.pngllvm.src/docs/DependenceGraphs/cycle.png
The file was added/llvm/trunk/docs/DependenceGraphs/cycle_pi.pngllvm.src/docs/DependenceGraphs/cycle_pi.png
The file was added/llvm/trunk/docs/DependenceGraphs/uml_builder_pattern.pngllvm.src/docs/DependenceGraphs/uml_builder_pattern.png
The file was added/llvm/trunk/docs/DependenceGraphs/uml_nodes_and_edges.pngllvm.src/docs/DependenceGraphs/uml_nodes_and_edges.png
The file was modified/llvm/trunk/docs/SubsystemDocumentation.rst (diff)llvm.src/docs/SubsystemDocumentation.rst
The file was added/llvm/trunk/include/llvm/Analysis/DDG.hllvm.src/include/llvm/Analysis/DDG.h
The file was added/llvm/trunk/include/llvm/Analysis/DependenceGraphBuilder.hllvm.src/include/llvm/Analysis/DependenceGraphBuilder.h
The file was modified/llvm/trunk/lib/Analysis/CMakeLists.txt (diff)llvm.src/lib/Analysis/CMakeLists.txt
The file was added/llvm/trunk/lib/Analysis/DDG.cppllvm.src/lib/Analysis/DDG.cpp
The file was added/llvm/trunk/lib/Analysis/DependenceGraphBuilder.cppllvm.src/lib/Analysis/DependenceGraphBuilder.cpp
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cpp (diff)llvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/lib/Passes/PassRegistry.def (diff)llvm.src/lib/Passes/PassRegistry.def
The file was added/llvm/trunk/test/Analysis/DDGllvm.src/test/Analysis/DDG
The file was added/llvm/trunk/test/Analysis/DDG/basic-a.llllvm.src/test/Analysis/DDG/basic-a.ll
The file was added/llvm/trunk/test/Analysis/DDG/basic-b.llllvm.src/test/Analysis/DDG/basic-b.ll
The file was added/llvm/trunk/test/Analysis/DDG/basic-loopnest.llllvm.src/test/Analysis/DDG/basic-loopnest.ll
Revision 372161 by jsji:
[docs][Bugpoint] Revert 5584ead50 a5aa3353

No sure why there are still warnings, revert while I investigate.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/Bugpoint.rst (diff)llvm.src/docs/Bugpoint.rst