nikic added a comment.

In D143624#4315468 <https://reviews.llvm.org/D143624#4315468>, @dmgreen wrote:

> It looks like there is quite a lot more optimization that happens to the 
> function being always-inlined (__SSAT) before this change. Through multiple 
> rounds of instcombine, almost to the end of the pass pipeline. The new 
> version runs a lot less before inlining, only running 
> instcombine->simplifycfg and not seeing another instcombine to clean up the 
> results. Is that because the AlwaysInlinePass is a module pass and it now 
> only runs the passes up to that point?

Yes, which is why I personally think this change isn't a good idea. This 
essentially breaks our invariant that functions get simplified before they are 
inlined. This significantly alters the way alwaysinline functions will be 
optimized relative to normally inlined functions.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143624/new/

https://reviews.llvm.org/D143624

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to