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

Reply via email to