diff options
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index f794eb7..a75c04d 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -794,3 +794,12 @@ void CompilerInvocation::setSemanticsOpts( .set_warningsAreErrors(getWarnAsErr()) .set_moduleFileSuffix(getModuleFileSuffix()); } + +/// Set \p loweringOptions controlling lowering behavior based +/// on the \p optimizationLevel. +void CompilerInvocation::setLoweringOptions() { + const auto &codegenOpts = getCodeGenOpts(); + + // Lower TRANSPOSE as a runtime call under -O0. + loweringOpts.setOptimizeTranspose(codegenOpts.OptimizationLevel > 0); +} |