#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
_______________________________________________
ghc-tickets mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-tickets