This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: -fno-tree-cselim not working?


On 26 October 2007 15:59, Ian Lance Taylor wrote:

> Andreas Schwab <schwab@suse.de> writes:
> 
>> Ian Lance Taylor <iant@google.com> writes:
>> 
>>> The above code happens to use pthread_mutex_trylock, but there is no
>>> need for that.
>> 
>> pthread_mutex_trylock is special, because POSIX says it is a memory
>> synchronisation point (see section 4.10 Memory Synchronization).
> 
> Sure.  But the argument that gcc is doing something wrong stands up
> just fine even we just test a global variable.  The argument that gcc
> is doing something wrong does not rely on the fact that the function
> called is pthread_mutex_trylock.

  Indeed; as I understand it, what the argument that gcc is doing something
wrong relies on is the incorrect assumption that *all* variables ought to
behave like volatile ones, i.e. have an exact one-to-one relationship between
loads and stores as written in the HLL and actual machine load/store
operations.  I could describe that another way: what the argument that gcc is
doing something wrong relies on is the misapprehension that C is still just a
glorified assembler language - which it hasn't been since the '80s, as far as
I know.

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]