DataCorrupted wrote: > The pipeline test changes here still look problematic. Can you make the > ObjCARCContract pass preserve the DT?
ObjCARCContractPass can't preserve the DT at static time, it may alter CFG (See more in [this patch](https://reviews.llvm.org/D92808)). Unfortunately, legacy PM won't let us preserve the DT at runtime. Current situation: 1. ObjCARCContractPass have no overhead on [O3 builds](https://llvm-compile-time-tracker.com/compare.php?from=910292c3ac2ebe43cdbc90223c6c9702128316db&to=8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2&stat=instructions%3Au). 2. On distributed thin-lto builds, the overhead is very small ([on average <0.6%](https://llvm-compile-time-tracker.com/compare.php?from=910292c3ac2ebe43cdbc90223c6c9702128316db&to=8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2&stat=instructions%3Au) 3. What's more, we can’t build Darwin applications using distributed thin-lto without this change. We can gain a huge build speed improvement with distributed thin-lto. Do you think the compile time regressions are acceptable if this change is restricted to optimized builds, or only enabled for distributed thin-lto builds? https://github.com/llvm/llvm-project/pull/101114 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits