summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2017-05-27 01:34:00 +0000
committerQuentin Colombet <qcolombet@apple.com>2017-05-27 01:34:00 +0000
commitbece442bd8b615e6095e38cabbf879df8e96b320 (patch)
treea9be5df15080ae4c39ec16d6685d37ed7da0303b /llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp
parent5bbb5aafc10c3a164e966afcd30f5eace4ee033a (diff)
downloadbcm5719-llvm-bece442bd8b615e6095e38cabbf879df8e96b320.tar.gz
bcm5719-llvm-bece442bd8b615e6095e38cabbf879df8e96b320.zip
[GlobalISel] Add a localizer pass for target to use
This reverts commit r299287 plus clean-ups. The localizer pass is a helper pass that could be run at O0 in the GISel pipeline to work around the deficiency of the fast register allocator. It basically shortens the live-ranges of the constants so that the allocator does not spill all over the place. Long term fix would be to make the greedy allocator fast. llvm-svn: 304051
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp b/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp
index fcd2722f1c2..29d1209bb02 100644
--- a/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp
@@ -26,6 +26,7 @@ void llvm::initializeGlobalISel(PassRegistry &Registry) {
void llvm::initializeGlobalISel(PassRegistry &Registry) {
initializeIRTranslatorPass(Registry);
initializeLegalizerPass(Registry);
+ initializeLocalizerPass(Registry);
initializeRegBankSelectPass(Registry);
initializeInstructionSelectPass(Registry);
}
OpenPOWER on IntegriCloud