In continuing the Women in Compilers and Tools Virtual Meetup Series
On May 27th, 2021, We’ll be hearing from Compiler Engineer, Jessica Paquette with Bringing up GlobalISel for AArch64:
Most LLVM targets use two instruction selectors: SelectionDAG and FastISel. SelectionDAG is typically used in optimized builds. FastISel is used in unoptimized builds where compile time is key. Having to bring up two instruction selectors per target requires significant duplicated work.
A more recent instruction selector, GlobalISel, has been designed with the goal of unifying the positives of FastISel and SelectionDAG. GlobalISel offers optimized code and low compile times with less engineering cost. In addition, GlobalISel’s design offers more opportunities for optimization than SelectionDAG and FastISel. SelectionDAG and FastISel are both basic block local, while GlobalISel has whole-function knowledge.
This talk will cover how we designed tooling to find and understand performance and compile time gaps between the FastISel/SelectionDAG infrastructure and GlobalISel. It will also provide insight into how GlobalISel’s design has improved upon the performance, code size, and compile time of the previous instruction selection frameworks.
To find additional details and to RSVP, please visit: