4 ms·
Also bugs from this approach are going to be funny - program compiled with compiler version X will work as expected and same program compiled with version X+1 w
by TheLoafOfBread 3y ago
Also bugs from this approach are going to be funny - program compiled with compiler version X will work as expected and same program compiled with version X+1 will start crashing because AI under some circumstances decided that dereference of a specific pointer was unnecessary, so it won't drop it into the assembly.
Good luck finding such a bug, because you will be looking on correct code, but computer will be executing invalid output.
- a_wild_dandan 3y agoDamn. These things imitate humans too well. Guess we’ll need a giant test suite to feel stable. Sounds like work. Let’s train a GAN for that and put our feet up. Turtles all the way down, my dudes.
- boomanaiden154 3y agoThe focus of this work is finding the optimal ordering of optimization passes to perform, not doing neural compilation. This guarantees correct code, assuming the underlying transformation passes are correct. Most work in ML for compilers focuses on replacing heuristics and phase ordering precisely because they don't impact correctness. There is some work being done on neural compilation [1], but I'm not sure that's going to be a viable approach anytime soon. 1. https://ieeexplore.ieee.org/document/9926313 https://ieeexplore.ieee.org/document/9926313
- wyldfire 3y ago> phase ordering precisely because they don't impact correctness. lol let's say they're less likely to impact correctness than an arbitrary new optimization.
- ncruces 3y agoIf you find a bug, it's in the optimization passes (that don't reorder and should, if you decide to do this). At this point this is like (usefully) fuzzing your optimizer, which long term is going to be great for correctness.