diff options
author | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-07-04 14:35:06 +0000 |
---|---|---|
committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-07-04 14:35:06 +0000 |
commit | 6ab0daade820ff12dafb861dfe8e2e5058435b8f (patch) | |
tree | 84379a3c426fcd5ad4a8085e08a23b6bcec01c68 /llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp | |
parent | 90f69abc8b92f896625437616910adce2ae49db1 (diff) | |
download | bcm5719-llvm-6ab0daade820ff12dafb861dfe8e2e5058435b8f.tar.gz bcm5719-llvm-6ab0daade820ff12dafb861dfe8e2e5058435b8f.zip |
[globalisel][tablegen] Partially fix compile-time regressions by converting matcher to state-machine(s)
Summary:
Replace the matcher if-statements for each rule with a state-machine. This
significantly reduces compile time, memory allocations, and cumulative memory
allocation when compiling AArch64InstructionSelector.cpp.o after r303259 is
recommitted.
The following patches will expand on this further to fully fix the regressions.
Reviewers: rovka, ab, t.p.northover, qcolombet, aditya_nandakumar
Reviewed By: ab
Subscribers: vitalybuka, aemerson, javed.absar, igorb, llvm-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D33758
llvm-svn: 307079
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp b/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp index 07ce0e863c5..69c7b42dedc 100644 --- a/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp +++ b/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp @@ -33,6 +33,8 @@ #define DEBUG_TYPE "aarch64-isel" +#include "llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h" + using namespace llvm; #ifndef LLVM_BUILD_GLOBAL_ISEL |