SuccessChanges

Summary

  1. [AArch64] Add the pipeline model for Exynos M5 (details)
  2. [CodeMoverUtils] Added an API to check if an instruction can be safely (details)
Commit 48b7fe02a1147a734ba8b28f53b4b7ede30d0843 by e.menezes
[AArch64] Add the pipeline model for Exynos M5
Add the scheduling and cost models for Exynos M5.
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/load.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-sqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-load.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-sqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-rsqrt.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/crc.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-rsqrt.s
The file was addedllvm/lib/Target/AArch64/AArch64SchedExynosM5.td
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/double-recp.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-recp.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-store.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/aes.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/divide-multiply.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s
The file was addedllvm/test/tools/llvm-mca/AArch64/Exynos/store.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s
Commit ae8a8c2db6c176b4dae679b77e566c656c2a27c6 by whitneyt
[CodeMoverUtils] Added an API to check if an instruction can be safely
moved before another instruction. Summary:Added an API to check if an
instruction can be safely moved before another instruction. In future
PRs, we will like to add support of moving instructions between blocks
that are not control flow equivalent, and add other APIs to enhance
usability, e.g. moving basic blocks, moving list of instructions... Loop
Fusion will be its first user. When there is intervening code in between
two loops, fusion is currently unable to fuse them. Loop Fusion can use
this utility to check if the intervening code can be safely moved before
or after the two loops, and move them, then it can successfully fuse
them. Reviewer:kbarton,jdoerfert,Meinersbur,bmahjour,etiotto Reviewed
By:bmahjour Subscribers:mgorny,hiraditya,llvm-commits Tag:LLVM
Differential Revision:https://reviews.llvm.org/D70049
The file was modifiedllvm/include/llvm/Analysis/PostDominators.h
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was modifiedllvm/unittests/Transforms/Utils/CMakeLists.txt
The file was addedllvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
The file was addedllvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
The file was addedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/lib/Analysis/PostDominators.cpp