[GSoC 2021] Alive2 for SIL

@codafi, here's my proposal! I have also submitted it through the GSoC portal. Anyone should feel welcome to check it out and comment on it :slightly_smiling_face:


To do this, are you anticipating needing to modify/extend Alive2 so that it understands ownership?


Based on this, what do you think about building the system by: (This is different than what I currently have in my project proposal.)

  1. Writing a program that takes SIL as input, passes that SIL into a SIL optimization pass to get the target SIL, uses the Swift compiler to lower the source and target SIL to LLVM IR, and invokes Alive2 with that source and target LLVM IR.
  2. Extend that program to lower the source and target SIL directly to Alive2's IR, instead of using the Swift compiler to lower the SIL to LLVM IR.

Number 1 could be an alternative to the second deliverable that I described in my project proposal.