Your objection is like saying that it isn't kosher to ignore the
"register" keyword, because
"I know what I am doing and you don't.....".What isn't kosher, is making side effects disappear from a C program.
Kenneth
Ken,
to have a valid complaint you have to demonstrate a program that
behaves incorrectly when compiled with LLVM, so far you have not, you
have only objected to the way it optimizes. You have not demonstrated
a "side effect" that matters, and LLVM specifically looks for ones that do
matter and preserves them and is free to remove ones that don't matter.
are you going to also complain if "register volatile" variables get treated
similarly, I don't think so, because we both know that something in a
general purpose register can't possibly be a memory-mapped IO device
interface with side effects. LLVM is simply extending that logic to
local stack frame variables.
Peter Lawrence.