llvm-project/llvm/lib/CodeGen/GlobalISel
Daniel Sanders 6ab0daade8 [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
2017-07-04 14:35:06 +00:00
..
CMakeLists.txt Prune trailing whitespace. (To regenerate makefiles) 2017-05-28 22:54:25 +00:00
CallLowering.cpp [IR] Abstract away ArgNo+1 attribute indexing as much as possible 2017-05-03 18:17:31 +00:00
GlobalISel.cpp [GlobalISel] Add a localizer pass for target to use 2017-05-27 01:34:00 +00:00
IRTranslator.cpp [GISel]: New Opcode G_FLOG/G_FLOG2 2017-06-29 23:43:44 +00:00
InstructionSelect.cpp ARM: Compute MaxCallFrame size early 2017-05-05 22:04:05 +00:00
InstructionSelector.cpp [globalisel][tablegen] Partially fix compile-time regressions by converting matcher to state-machine(s) 2017-07-04 14:35:06 +00:00
LLVMBuild.txt Revert "Get GlobalISel to build on Linux after r286407" 2016-11-16 22:24:59 +00:00
Legalizer.cpp GlobalISel: remove G_SEQUENCE instruction. 2017-06-23 16:15:55 +00:00
LegalizerHelper.cpp GlobalISel: add G_IMPLICIT_DEF instruction. 2017-06-30 20:27:36 +00:00
LegalizerInfo.cpp GlobalISel: add G_IMPLICIT_DEF instruction. 2017-06-30 20:27:36 +00:00
Localizer.cpp [Localizer] Don't trick to be smart for the insertion point 2017-05-30 20:53:06 +00:00
MachineIRBuilder.cpp GlobalISel: add G_IMPLICIT_DEF instruction. 2017-06-30 20:27:36 +00:00
RegBankSelect.cpp GlobalISel: verify that a COPY is trivial when created. 2017-06-27 21:41:40 +00:00
RegisterBank.cpp Move size and alignment information of regclass to TargetRegisterInfo 2017-04-24 18:55:33 +00:00
RegisterBankInfo.cpp [RegisterBankInfo] Uniquely allocate instruction mapping. 2017-05-05 22:48:22 +00:00
Utils.cpp [globalisel][tablegen] Add support for COPY_TO_REGCLASS. 2017-06-20 12:36:34 +00:00