4 ms·
You are making the assumption that all optimizations see everything, but that's not the case. The third optimization never got a chance to observe that relation
by SkiFire13 2y ago
You are making the assumption that all optimizations see everything, but that's not the case. The third optimization never got a chance to observe that relationship. This means that either:
- the third optimization should assume that _any_ relationship between two expressions could have been established before it runs (even if that relationship was never established!)
- one of the first two optimizations is also wrong because it did not give subsequent optimizations the chance to observe that relationship.
- dataflow 2y ago> one of the first two optimizations is also wrong because it did not give subsequent optimizations the chance to observe that relationship. If you view them as actual equivalent C code, sure. In which case, be my guest at saying those are wrong. But I think you're conflating actual C with the imitation-C used to represent the LLVM IR in the article. I responded to this here: https://news.ycombinator.com/item?id=42907292 https://news.ycombinator.com/item?id=42907292
- SkiFire13 2y agoYou mention that the compiler should track the aliasing informations, as to enrich this C imitation language, but this seems exactly what the article means with "provenance".