aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MacroFusion.cpp
AgeCommit message (Collapse)AuthorFilesLines
2017-12-11[CodeGen] Improve the consistency of instruction fusion*Evandro Menezes1-24/+55
When either instruction in a fused pair has no other dependency, besides on the other instruction, make sure that other instructions do not get scheduled between them. Additionally, avoid fusing an instruction more than once along the same dependency chain. Differential revision: https://reviews.llvm.org/D36704 llvm-svn: 320420
2017-11-08Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layeringDavid Blaikie1-1/+1
This header includes CodeGen headers, and is not, itself, included by any Target headers, so move it into CodeGen to match the layering of its implementation. llvm-svn: 317647
2017-07-11[CodeGen] Rename DEBUG_TYPE to match passnamesEvandro Menezes1-1/+1
Rename missing DEBUG_TYPE "machine-scheduler" from backend files, which were absent from https://reviews.llvm.org/rL303921. Differential revision: https://reviews.llvm.org/D35231 llvm-svn: 307719
2017-06-26[CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko1-12/+15
warnings; other minor fixes (NFC). llvm-svn: 306341
2017-06-19Recommit rL305677: [CodeGen] Add generic MacroFusion passFlorian Hahn1-0/+150
Use llvm::make_unique to avoid ambiguity with MSVC. 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. Differential Revision: https://reviews.llvm.org/D34144 llvm-svn: 305690
2017-06-19Revert r305677 [CodeGen] Add generic MacroFusion pass.Florian Hahn1-150/+0
This causes Windows buildbot failures do an ambiguous call. llvm-svn: 305681
2017-06-19[CodeGen] Add generic MacroFusion pass.Florian Hahn1-0/+150
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 llvm-svn: 305677