[PATCH] D16829: An implementation of Swing Modulo Scheduling
Brendon Cahoon via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 25 09:59:08 PDT 2016
bcahoon updated this revision to Diff 65365.
bcahoon added a comment.
Rebased the patch. There were some API changes to resolve.
I've included several bug fixes since the last update, including:
- Updates to with deal physical registers. The register pressure code needs to check for physical registers. Also, the pipeliner does not allow a schedule that generates a loop carrried dependence for a physical register.
- A bug fix to the code that generates Phis for the pipelined loop.
- A bug fix to the code that generates the final instruction order, when serializing the instructions.
Unless there is an objection, I'd like to be able to commit this code. There are several other folks that use the patch, and it would be great to enable them to make updates and improvements to the software pipeliner. This patch enables the pipeliner for the Hexagon target. I think there is a good opportunity for others to contribute to the pass, to improve the functionality, and to enable it for other targets.
https://reviews.llvm.org/D16829
Files:
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/MachinePipeliner.cpp
lib/Target/Hexagon/HexagonInstrInfo.cpp
lib/Target/Hexagon/HexagonInstrInfo.h
lib/Target/Hexagon/HexagonTargetMachine.cpp
test/CodeGen/Hexagon/hwloop1.ll
test/CodeGen/Hexagon/swp-const-tc.ll
test/CodeGen/Hexagon/swp-dag-phi.ll
test/CodeGen/Hexagon/swp-epilog-reuse.ll
test/CodeGen/Hexagon/swp-matmul-bitext.ll
test/CodeGen/Hexagon/swp-max.ll
test/CodeGen/Hexagon/swp-multi-loops.ll
test/CodeGen/Hexagon/swp-vect-dotprod.ll
test/CodeGen/Hexagon/swp-vmult.ll
test/CodeGen/Hexagon/swp-vsum.ll
test/CodeGen/Hexagon/v60-cur.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16829.65365.patch
Type: text/x-patch
Size: 190120 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160725/8e80ae29/attachment-0001.bin>
More information about the llvm-commits
mailing list