summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
diff options
context:
space:
mode:
authorEvandro Menezes <e.menezes@samsung.com>2017-02-01 02:54:34 +0000
committerEvandro Menezes <e.menezes@samsung.com>2017-02-01 02:54:34 +0000
commit94edf029238d6e30d6946c7748b0edc785518607 (patch)
treed4584d2cc7c6c9b8d7d4a8a74d98e1eb33e2473e /llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
parent15e50b510ee162cafc0578d86b6addd50744932f (diff)
downloadbcm5719-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.cpp3
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;
}
OpenPOWER on IntegriCloud