[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