[GHC] #7297: LLVM incorrectly hoisting loads

GHC cvs-ghc at haskell.org
Thu Jan 31 10:12:53 CET 2013


#7297: LLVM incorrectly hoisting loads
---------------------------------+------------------------------------------
    Reporter:  dterei            |       Owner:  dterei                     
        Type:  bug               |      Status:  new                        
    Priority:  normal            |   Milestone:  7.8.1                      
   Component:  Compiler (LLVM)   |     Version:  7.7                        
    Keywords:                    |          Os:  Unknown/Multiple           
Architecture:  Unknown/Multiple  |     Failure:  Incorrect result at runtime
  Difficulty:  Unknown           |    Testcase:  367_letnoescape            
   Blockedby:                    |    Blocking:                             
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by dterei):

 http://llvm.org/docs/LangRef.html#i_load

 LLVM docs on volatile:

 {{{
 Certain memory accesses, such as loads, stores, and llvm.memcpys may
 be marked volatile. The optimizers must not change the number of
 volatile operations or change their order of execution relative to
 other volatile operations. The optimizers may change the order of
 volatile operations relative to non-volatile operations. This is not
 Java's "volatile" and has no cross-thread synchronization behavior.
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7297#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list