]> granicus.if.org Git - llvm/commit
[CodeGen] Add generic MacroFusion pass.
authorFlorian Hahn <florian.hahn@arm.com>
Mon, 19 Jun 2017 10:51:38 +0000 (10:51 +0000)
committerFlorian Hahn <florian.hahn@arm.com>
Mon, 19 Jun 2017 10:51:38 +0000 (10:51 +0000)
commit7e1ef2da7859dd278938cdc8b0c3ad2b4f10c00c
tree143baa1087581bb44239dfb06d3bd49149ddbc4a
parentdf1f7afc1e1be993d9789581876fd7c5bc2cffa7
[CodeGen] Add generic MacroFusion pass.

Summary:
This patch adds a generic MacroFusion pass, that is used on X86 and
AArch64, which both define target-specific shouldScheduleAdjacent
functions. This generic pass should make it easier for other targets to
implement macro fusion and I intend to add macro fusion for ARM shortly.

Reviewers: craig.topper, evandro, t.p.northover, atrick, MatzeB

Reviewed By: MatzeB

Subscribers: atrick, aemerson, mgorny, javed.absar, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D34144

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305677 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MacroFusion.h [new file with mode: 0644]
lib/CodeGen/CMakeLists.txt
lib/CodeGen/MacroFusion.cpp [new file with mode: 0644]
lib/Target/AArch64/AArch64MacroFusion.cpp
lib/Target/AArch64/AArch64MacroFusion.h
lib/Target/X86/X86MacroFusion.cpp
lib/Target/X86/X86MacroFusion.h