Linus Torvalds wrote: > > This is about storage allocation, not aliases. Storage allocation only > > depends on lifetime. > > Well, the thing is, code motion does extend life-times, and if you think > you can move stores across each other (even when you can see that they > alias statically) due to type-based alias decisions, that does essentially > end up making what _used_ to be disjoint lifetimes now be potentially > overlapping. Sometimes code motion makes code faster and/or smaller but use more stack space. If you want to keep the stack use down, it blocks some other optimisations. Register allocation is similar: code motion optimisations may use more registers due to overlapping lifetimes, which causes more register spills and changes the code. The two interact; it's not trivial to optimise fully. -- Jamie -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html