Sorry, no sale here. If there are no interaction side effects due to the order of evaluation, then it doesn't matter what the compiler chooses. If there are potentially some interactions, then a sufficiently smart compiler of the opposite persuasion, or a sufficiently dumb compiler of the same persuasion, would produce different results. Doing evaluation one way or the other is absolutely fundamental - it defines what the correct result should be. Depending on flags.
Compilers are there to jump through hoops.
Compilers are free to evaluate everything at once if they can determine that the result is semanticly correct. Languages that are designed for parallelism give some assistance in this matter. Given that, yes, the compiler should choose. At random, or for efficiency, or however it wants. I hope you don't write software that controls the planes I fly in.