aqjune added a comment. Herald added a subscriber: frasercrmck. In D82317#2201215 <https://reviews.llvm.org/D82317#2201215>, @rjmccall wrote:
> second, it's yet another contribution towards the giant pile of attributes > that seem to have become necessary to do any work in LLVM I don't think this is true. There are a few optimizations disabled (either fully or conditionally) because it is incorrect when its input is undefined (D85765 <https://reviews.llvm.org/D85765>, D85684 <https://reviews.llvm.org/D85684>, a few optimizations in SimplifyCFG). There are even optimizations that are incorrect w.r.t. undef but still running simply because removing all of them isn't practical. Giving a guarantee that a value is well defined is very helpful because these optimizations can be revived. Currently, there is no such guarantee in function boundaries because it is legal to pass undef to a function argument. This explains dead argument elimination and function outlining (which may introduce fn call with undef). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82317/new/ https://reviews.llvm.org/D82317 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits