NOTES
GCC Level 1 : Tries to reduce code size and execution time
GCC Level 2 : All supported optimizations that do not involve space-speed tradeoff are turned on
GCC Level 3 : Further optimizations (?)