mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-01-01 09:10:03 +00:00
Tweak compiler optimization evaluation section
* Remove references to the platform - this is unlikely to affect whether copies are optimized. * Note that the evaluation should test extreme optimisation settings. Signed-off-by: David Horstmann <david.horstmann@arm.com>
This commit is contained in:
parent
4e54abf182
commit
17b3716c5a
@ -238,12 +238,12 @@ Copy what needs copying. This is broadly straightforward, however there are a fe
|
||||
|
||||
It is unclear whether the compiler will attempt to optimize away copying operations.
|
||||
|
||||
Once the copying code is implemented, it should be evaluated to see whether compiler optimization is a problem. Specifically, for the major compilers and platforms supported by Mbed TLS:
|
||||
Once the copying code is implemented, it should be evaluated to see whether compiler optimization is a problem. Specifically, for the major compilers supported by Mbed TLS:
|
||||
* Write a small program that uses a PSA function which copies inputs or outputs.
|
||||
* Build the program with link-time optimization / full-program optimization enabled (e.g. `-flto` with `gcc`).
|
||||
* Build the program with link-time optimization / full-program optimization enabled (e.g. `-flto` with `gcc`). Try also enabling the most extreme optimization options such as `-Ofast` (`gcc`) and `-Oz` (`clang`).
|
||||
* Inspect the generated code with `objdump` or a similar tool to see if copying operations are preserved.
|
||||
|
||||
If copying behaviour is preserved by all major compilers and platforms then assume that compiler optimization is not a problem.
|
||||
If copying behaviour is preserved by all major compilers then assume that compiler optimization is not a problem.
|
||||
|
||||
If copying behaviour is optimized away by the compiler, further investigation is needed. Experiment with using the `volatile` keyword to force the compiler not to optimize accesses to the copied buffers.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user