[LLVMdev] LLVMdev Digest, Vol 76, Issue 44

Peter Lawrence peterl95124 at sbcglobal.net
Tue Oct 26 14:05:55 PDT 2010


>>
>> 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.





More information about the llvm-dev mailing list