[Flang][Driver] Add support for backend passes in R_Group
Previously, R_Group options only reported middle-end passes. This patch allows backend passes to be reported as well. Depends on D158174. That patch adds backend support to R_Group options. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D159260
This commit is contained in:
parent
1256ef274c
commit
e87d2d2cc9
@ -48,6 +48,7 @@
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
#include "llvm/Analysis/TargetTransformInfo.h"
|
||||
#include "llvm/Bitcode/BitcodeWriterPass.h"
|
||||
#include "llvm/CodeGen/MachineOptimizationRemarkEmitter.h"
|
||||
#include "llvm/IR/LLVMRemarkStreamer.h"
|
||||
#include "llvm/IR/LegacyPassManager.h"
|
||||
#include "llvm/IR/Verifier.h"
|
||||
@ -1014,6 +1015,18 @@ public:
|
||||
optimizationRemarkHandler(
|
||||
llvm::cast<llvm::OptimizationRemarkAnalysis>(di));
|
||||
break;
|
||||
case llvm::DK_MachineOptimizationRemark:
|
||||
optimizationRemarkHandler(
|
||||
llvm::cast<llvm::MachineOptimizationRemark>(di));
|
||||
break;
|
||||
case llvm::DK_MachineOptimizationRemarkMissed:
|
||||
optimizationRemarkHandler(
|
||||
llvm::cast<llvm::MachineOptimizationRemarkMissed>(di));
|
||||
break;
|
||||
case llvm::DK_MachineOptimizationRemarkAnalysis:
|
||||
optimizationRemarkHandler(
|
||||
llvm::cast<llvm::MachineOptimizationRemarkAnalysis>(di));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
23
flang/test/Driver/optimization-remark-backend.f90
Normal file
23
flang/test/Driver/optimization-remark-backend.f90
Normal file
@ -0,0 +1,23 @@
|
||||
! This file tests backend passes emitted by the -Rpass family of flags
|
||||
! loop-delete isn't enabled at O0 so we use at least O1
|
||||
|
||||
! DEFINE: %{output} = -S -o /dev/null 2>&1
|
||||
|
||||
! Check full -Rpass-missed message is emitted
|
||||
! RUN: %flang %s -O1 -Rpass-missed %{output} 2>&1 | FileCheck %s --check-prefix=MISSED
|
||||
|
||||
! Check full -Rpass-analysis message is emitted
|
||||
! RUN: %flang %s -O1 -Rpass-analysis %{output} 2>&1 | FileCheck %s --check-prefix=ANALYSIS
|
||||
|
||||
! MISSED: remark: {{[0-9]+}} virtual registers copies {{.*}} total copies cost generated in function
|
||||
! ANALYSIS: remark: BasicBlock:
|
||||
|
||||
program forttest
|
||||
implicit none
|
||||
integer :: n
|
||||
|
||||
do n = 1,2
|
||||
print *, ""
|
||||
end do
|
||||
|
||||
end program forttest
|
||||
Loading…
x
Reference in New Issue
Block a user