Re:Why Const Doesn't Make C Code Faster
by einpoklum on Tuesday August 20, 2019 @02:38AM
(#20744342)
> You can even promise a func is pure without even implementing it in the same translation unit!
Actually that's the main point, as if it's in the same TU, the compiler can probably figure out a function is pure.
often but not always, for example a function using asm() to access, say, some AES intrinsics is pure (const even) since the output only depends on input, but oftentimes compiler by itself will not declare a function with an asm() block pure or const
You can even promise a func is pure without even implementing it in the same translation unit! That produces lots of improvement. See these two godbolt links:
https://godbolt.org/z/v2zqJI
https://godbolt.org/z/kk3Q3T