diff options
author | Quentin Colombet <qcolombet@apple.com> | 2017-05-27 01:34:00 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2017-05-27 01:34:00 +0000 |
commit | bece442bd8b615e6095e38cabbf879df8e96b320 (patch) | |
tree | a9be5df15080ae4c39ec16d6685d37ed7da0303b /llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp | |
parent | 5bbb5aafc10c3a164e966afcd30f5eace4ee033a (diff) | |
download | bcm5719-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.cpp | 1 |
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); } |