Can you expand this comment to explain a little more about what volatile is and when to use it? It can reference LLVM's documentation for what volatile really means, but it should have some explanation here as well.