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.