[LLVMdev] Questions about C as used/implemented in practice

Peter Sewell Peter.Sewell at cl.cam.ac.uk
Thu Apr 23 01:39:02 PDT 2015


Dear LLVM developers,

we are trying to clarify what behaviour of C implementations is
actually relied upon in modern practice, and what behaviour is
guaranteed by current mainstream implementations (these can be quite
different from the ISO standards, and may differ in different
contexts).

Focussing on the sequential behaviour of memory operations, we've
collected a short survey of 15 questions about C:

  http://goo.gl/dyP1K8

Your answers to these would be very helpful, especially if you can
speak authoritatively about what clang/llvm do (it's difficult for us to
directly investigate the emergent properties of the combination of
optimisations in a production compiler), or about undefined-behaviour
or memory sanitisers.   Some of you might have seen this survey
in the recent EuroLLVM keynote by Francesco Zappa Nardelli.

This continues a research project at the University of Cambridge; in
earlier work (with Batty, Owens, and Sarkar) we addressed the C/C++11
concurrency model, which clarified what that model should be and resulted in
fixes to the ISO standards, and work on compiler testing (by Zappa Nardelli,
Morisset, and Pawan);  we hope for similar benefits here.

many thanks,
Kayvan Memarian and Peter Sewell



More information about the llvm-dev mailing list