diff options
author | Tom Eccles <tom.eccles@arm.com> | 2025-03-13 15:22:13 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-13 15:22:13 +0000 |
commit | 01aca42363ac18f29580d21f6a30af677c2581b9 (patch) | |
tree | 5e1bcc286b54677e9551e4d1b3ca6624ce773667 /flang/lib/Frontend | |
parent | 143bf95d41f427bb91335198d5eccd624b5b47d4 (diff) | |
download | llvm-01aca42363ac18f29580d21f6a30af677c2581b9.zip llvm-01aca42363ac18f29580d21f6a30af677c2581b9.tar.gz llvm-01aca42363ac18f29580d21f6a30af677c2581b9.tar.bz2 |
[flang] Add support for -f[no-]verbose-asm (#130788)
This flag provides extra commentary in the assembly output.
Diffstat (limited to 'flang/lib/Frontend')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 4 | ||||
-rw-r--r-- | flang/lib/Frontend/FrontendActions.cpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 1537122..edf7387 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -476,6 +476,10 @@ static void parseTargetArgs(TargetOptions &opts, llvm::opt::ArgList &args) { opts.EnableAIXExtendedAltivecABI = false; } } + + opts.asmVerbose = + args.hasFlag(clang::driver::options::OPT_fverbose_asm, + clang::driver::options::OPT_fno_verbose_asm, false); } // Tweak the frontend configuration based on the frontend action static void setUpFrontendBasedOnAction(FrontendOptions &opts) { diff --git a/flang/lib/Frontend/FrontendActions.cpp b/flang/lib/Frontend/FrontendActions.cpp index 94de376..46ec755 100644 --- a/flang/lib/Frontend/FrontendActions.cpp +++ b/flang/lib/Frontend/FrontendActions.cpp @@ -1220,6 +1220,7 @@ void CodeGenAction::executeAction() { clang::DiagnosticsEngine &diags = ci.getDiagnostics(); const CodeGenOptions &codeGenOpts = ci.getInvocation().getCodeGenOpts(); + const TargetOptions &targetOpts = ci.getInvocation().getTargetOpts(); Fortran::lower::LoweringOptions &loweringOpts = ci.getInvocation().getLoweringOpts(); mlir::DefaultTimingManager &timingMgr = ci.getTimingManager(); @@ -1284,6 +1285,8 @@ void CodeGenAction::executeAction() { // given on the command-line). llvm::TargetMachine &targetMachine = ci.getTargetMachine(); + targetMachine.Options.MCOptions.AsmVerbose = targetOpts.asmVerbose; + const llvm::Triple &theTriple = targetMachine.getTargetTriple(); if (llvmModule->getTargetTriple() != theTriple) { |