Support #150: Align -optimize flags with current compiler releases
Align -optimize flags with current release of GNU compilers
We provide a generic wrapper for various backend compilers in charmc, and a flag
-optimize that's meant to provide good optimization settings for any given backend without breaking things. Every new compiler release brings new optimization settings along with it. We haven't necessarily kept up with these releases and the options they bring to the table.
We should make sure that the flags we pass GNU compilers under
-optimize are appropriate for the most recent few releases (probably 4.4-4.8, given how long they stay in service), in terms of performance, reliability, and compatibility.
#4 Updated by Sam White about 1 year ago
The GCC documentation doesn't specify very many optimization options that aren't enabled by default at -O3 and which don't relax semantics. I did find a couple:
Perform interprocedural pointer analysis and interprocedural modification and reference analysis. This option can cause excessive memory and compile-time usage on large compilation units. It is not enabled by default at any optimization level.
Enable link-time optimization. Already have an open issue for that here: https://charm.cs.illinois.edu/redmine/issues/1817