Complier Options Presentation
So for my presentation I selected two complier option on being fsplit-wide-types and ftree-dse.
So here is the gcc documentation for each option:
fsplit-wide-types
When using a type that occupies multiple registers, such as long long
on a 32-bit system, split the registers apart and allocate them independently. This normally generates better code for those types, but may make debugging more difficult.
Enabled at levels -O, -O2, -O3, -Os.
So when ever you have long long variable on a 32-bit system it splits it into two register that are still group together like 1 and 2. If the fsplit-wide-options it split them away from being grouped and allocated independently.
ftree-dse
Perform dead store elimination (DSE) on trees. A dead store is a store into a memory location that is later overwritten by another store without any intervening loads. In this case the earlier store can be deleted.
This flag is enabled by default at -O and higher.
My understanding of ftree-dse after the presentation is that the complier uses a tree format of your source data. So this option acts upon the complier’s representation of the source code remove any dead store that exist within the code.