On the eve of the next C ++ Siberia conference, I decided to post a report from the February C ++ Russia conference in the hero-city of St. Petersburg.
Often, familiarity with aliasing in C ++ for many programmers begins and ends the same way: -fno-strict-aliasing . The questions of the beginner, more experienced colleagues answer in the style: “do not touch! otherwise you will break everything! ” Newbie and does not touch.
The report attempts to look under the hood of the compiler and understand what is inside? What is alias analysis, where it can be useful, what are its advantages and disadvantages. The topic has been reviewed by both the programmer and the compiler developer. And according to this, the question "why?" Was central. ')
In the report you will find:
Quake3 code and IEEE754 standard
Magic Constant 0x5F3759DF
Many x86 assembler
Many IR code LLVM
Rust, Java and even Fortran
Disclaimer
The fact is that in the plane I managed to get a thorough thoroughfare, and I had to speak the next morning. We had to pump up with paracetamol and go on broadcasting with a temperature of + 38 ° C. What was on the report, I realized later, surprised to see this video.
Therefore, I ask you to concentrate on the report, and not on my sad physiognomy.