## Summary @tqchen @icemelon9 @jroesch @zhiics @yongwww we discuss in person. Reached the following consensus: 1. Remove `Phi` instruction. Instead extend `If` to write the result to a new register. 2. Reuse the existing value stack as the register file. Have an anchor in the function frame to point to the start of each function's register region. 3. Try to do liveness on Relay AST to reuse the pass manager infrastructure, and to not introduce extra interfaces.
Let me know if I miss anything or said something wrong. I'll take out liveness analysis on opcodes from my branch and polish remaining stuff(register VM + linear scan + interfaces). Since we don't have liveness analysis on Relay AST now, I'll simply generate live interval for each register with the full opcodes range, so register allocator can assign unique slot for each register. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/dmlc/tvm/issues/2915#issuecomment-478796098
