diff options
author | Evandro Menezes <e.menezes@samsung.com> | 2017-02-01 02:54:34 +0000 |
---|---|---|
committer | Evandro Menezes <e.menezes@samsung.com> | 2017-02-01 02:54:34 +0000 |
commit | 94edf029238d6e30d6946c7748b0edc785518607 (patch) | |
tree | d4584d2cc7c6c9b8d7d4a8a74d98e1eb33e2473e /llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | |
parent | 15e50b510ee162cafc0578d86b6addd50744932f (diff) | |
download | bcm5719-llvm-94edf029238d6e30d6946c7748b0edc785518607.tar.gz bcm5719-llvm-94edf029238d6e30d6946c7748b0edc785518607.zip |
[CodeGen] Move MacroFusion to the target
This patch moves the class for scheduling adjacent instructions,
MacroFusion, to the target.
In AArch64, it also expands the fusion to all instructions pairs in a
scheduling block, beyond just among the predecessors of the branch at the
end.
Differential revision: https://reviews.llvm.org/D28489
llvm-svn: 293737
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64TargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp index 9e93833c0a0..63a1acab4e4 100644 --- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp +++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp @@ -14,6 +14,7 @@ #include "AArch64CallLowering.h" #include "AArch64InstructionSelector.h" #include "AArch64LegalizerInfo.h" +#include "AArch64MacroFusion.h" #ifdef LLVM_BUILD_GLOBAL_ISEL #include "AArch64RegisterBankInfo.h" #endif @@ -325,7 +326,7 @@ public: ScheduleDAGMILive *DAG = createGenericSchedLive(C); DAG->addMutation(createLoadClusterDAGMutation(DAG->TII, DAG->TRI)); DAG->addMutation(createStoreClusterDAGMutation(DAG->TII, DAG->TRI)); - DAG->addMutation(createMacroFusionDAGMutation(DAG->TII)); + DAG->addMutation(createAArch64MacroFusionDAGMutation()); return DAG; } |