The talk will cover two topics: (1) relaxed memory concurrency
and (2) verified compilation. I will introduce each topic
separately, and answer the questions such as the following:
- What does it mean for a compiler to be correct?
- What are relaxed memory models?
- How do you compile from one memory model to another? (e.g., from C++11 to x86-TSO)
- What compiler optimisations are valid?
- How do you actually prove such a compiler correct?
During the talk, I will refer to CompCertTSO, a verified compiler
from (relaxed memory concurrent) C to x86.