[PATCH] D93423: [GlobalISel] Use slot indexes to speed up huge block compile time
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 16 15:18:11 PST 2020
aemerson created this revision.
aemerson added reviewers: aditya_nandakumar, dsanders, qcolombet, arsenm, paquette, foad, gargaroff.
aemerson added a project: LLVM.
Herald added subscribers: arphaman, hiraditya, rovka.
aemerson requested review of this revision.
Herald added a subscriber: wdng.
As an alternative to setting threshold limits on CSE dominator queries, this approach requires tht the SlotIndex analysis be run before legalization, and to use the numbering to do constant time dominance checks. There is added complexity in needing to maintain the numbering as we add/remove instructions from the block.
Overall this seems to impact compile time negatively by about ~0.5% on -O0 and -Os but prevents us from having unreasonably long compile times in the worst cases.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D93423
Files:
llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93423.312312.patch
Type: text/x-patch
Size: 7084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201216/cdd81200/attachment.bin>
More information about the llvm-commits
mailing list