1. [AArch64][X86] Don't assume __powidf2 is available on Windows. (details)
  2.     [DDG] Data Dependence Graph - Pi Block (details)
  3. gn build: Merge f0af11d86f8 (details)
Commit 5df3a87224ef5843a3374a5b87e57495b3f714c4 by efriedma
[AArch64][X86] Don't assume __powidf2 is available on Windows.
We had some code for this for 32-bit ARM, but this doesn't really need
to be in target-specific code; generalize it.
(I think this started showing up recently because we added an
optimization that converts pow to powi.)
Differential Revision:
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/powi-windows.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was addedllvm/test/CodeGen/X86/powi-windows.ll
Commit f0af11d86f81620096a87ffeb50267598d88e5b6 by bmahjour
    [DDG] Data Dependence Graph - Pi Block
   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
   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
      {p -> d} with "p" containing: {a -> b}, {b -> c}, {c -> a}
   In this implementation the edges between nodes that are part of the
   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,
    Reviewed By: Meinersbur
    Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya,
jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack
    Tag: #llvm
    Differential Revision:
The file was modifiedllvm/lib/Analysis/DependenceGraphBuilder.cpp
The file was modifiedllvm/test/Analysis/DDG/basic-a.ll
The file was modifiedllvm/include/llvm/Analysis/DDG.h
The file was modifiedllvm/unittests/ADT/CMakeLists.txt
The file was modifiedllvm/test/Analysis/DDG/root-node.ll
The file was addedllvm/unittests/ADT/EnumeratedArrayTest.cpp
The file was modifiedllvm/include/llvm/Analysis/DependenceGraphBuilder.h
The file was addedllvm/include/llvm/ADT/EnumeratedArray.h
The file was modifiedllvm/test/Analysis/DDG/basic-b.ll
The file was modifiedllvm/lib/Analysis/DDG.cpp
The file was modifiedllvm/test/Analysis/DDG/basic-loopnest.ll
Commit fa03665e8666e72ca1c5c2f78aa86e8de64bdd1e by llvmgnsyncbot
gn build: Merge f0af11d86f8
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ADT/