We found that recently PRs are failing frequently because of time out. Looking the the status history(from Nov 12) the hypothesis is that we might have reached the point that our test timeout is not sufficient to reliably go through all tests. And recently we are also adding many more default functions to prelude, so the compilation time increases. Some actions we might need to take are:
- Write a pass to remove unused function in a relay module to reduce compilation time.
- Adjust timeout threshold of Jenkins tests.
- Improve test parallelism if possible.
As for #1, Iām not sure of the effort of changing dead code elimination pass to support interprocedural analysis. A simpler approach is to write another pass(abstract interpretation style) just to analyze the call relationship and delete unused ones. @haichen @MarisaKirisame @zhiics @jroesch @tqchen please share your thoughts.