[clang] [flang] [flang] Enable alias tags pass by default (PR #73111)
Andrzej WarzyĆski via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 27 02:45:56 PST 2023
================
@@ -142,6 +142,24 @@ void Flang::addCodegenOptions(const ArgList &Args,
if (shouldLoopVersion(Args))
CmdArgs.push_back("-fversion-loops-for-stride");
+ Arg *aliasAnalysis = Args.getLastArg(options::OPT_falias_analysis,
+ options::OPT_fno_alias_analysis);
+ Arg *optLevel =
+ Args.getLastArg(options::OPT_Ofast, options::OPT_O, options::OPT_O4);
+ if (aliasAnalysis) {
+ bool faliasAnalysis =
+ aliasAnalysis->getOption().matches(options::OPT_falias_analysis);
+ // only pass on the argument if it does not match that implied by the
+ // optimization level
+ if (optLevel && !faliasAnalysis) {
+ CmdArgs.push_back("-fno-alias-analysis");
+ } else {
+ if (faliasAnalysis)
+ // requested alias analysis but no optimization enabled
+ CmdArgs.push_back("-falias-analysis");
+ }
+ }
----------------
banach-space wrote:
[nit] It would be worth adding a comment here explaining the intent (e.g. "Only forward `-f{no}-alias-analysis if that makes sense considering other optimisation flags"). Alternatively, you could rename `optLevel` as `optLevelForSpeed` to communicate that. Or both.
Just to make things clear for our future selves ;-)
https://github.com/llvm/llvm-project/pull/73111
More information about the cfe-commits
mailing list