This re-enables commit 107d19eb017ff6734986af077eb2e9f6600114a9 with bug fixes. Differential Revision: https://reviews.llvm.org/D99354
This reverts commit 88b259c01463c08ac2575b4432c07ea7751946b5. It needs to fix below bugs. https://bugs.llvm.org/show_bug.cgi?id=50279 https://bugs.llvm.org/show_bug.cgi?id=50302
Differential Revision: https://reviews.llvm.org/D99354