forked from OSchip/llvm-project
[LowerTypeTests][NewPM] Add constructor that uses command line flags
This matches the legacy PM pass by having one constructor use command line flags, and the other use parameters to the pass. This fixes all tests under Transforms/LowerTypeTests using NPM. Reviewed By: ychen, pcc Differential Revision: https://reviews.llvm.org/D87845
This commit is contained in:
parent
2dba5461be
commit
83e3ea2cfc
|
@ -198,10 +198,14 @@ bool isJumpTableCanonical(Function *F);
|
|||
} // end namespace lowertypetests
|
||||
|
||||
class LowerTypeTestsPass : public PassInfoMixin<LowerTypeTestsPass> {
|
||||
bool UseCommandLine = false;
|
||||
|
||||
ModuleSummaryIndex *ExportSummary = nullptr;
|
||||
const ModuleSummaryIndex *ImportSummary = nullptr;
|
||||
bool DropTypeTests = true;
|
||||
|
||||
public:
|
||||
ModuleSummaryIndex *ExportSummary;
|
||||
const ModuleSummaryIndex *ImportSummary;
|
||||
bool DropTypeTests;
|
||||
LowerTypeTestsPass() : UseCommandLine(true) {}
|
||||
LowerTypeTestsPass(ModuleSummaryIndex *ExportSummary,
|
||||
const ModuleSummaryIndex *ImportSummary,
|
||||
bool DropTypeTests = false)
|
||||
|
|
|
@ -67,7 +67,7 @@ MODULE_PASS("internalize", InternalizePass())
|
|||
MODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass())
|
||||
MODULE_PASS("ipsccp", IPSCCPPass())
|
||||
MODULE_PASS("print-ir-similarity", IRSimilarityAnalysisPrinterPass(dbgs()))
|
||||
MODULE_PASS("lowertypetests", LowerTypeTestsPass(nullptr, nullptr))
|
||||
MODULE_PASS("lowertypetests", LowerTypeTestsPass())
|
||||
MODULE_PASS("mergefunc", MergeFunctionsPass())
|
||||
MODULE_PASS("name-anon-globals", NameAnonGlobalPass())
|
||||
MODULE_PASS("no-op-module", NoOpModulePass())
|
||||
|
|
|
@ -2239,9 +2239,13 @@ bool LowerTypeTestsModule::lower() {
|
|||
|
||||
PreservedAnalyses LowerTypeTestsPass::run(Module &M,
|
||||
ModuleAnalysisManager &AM) {
|
||||
bool Changed =
|
||||
LowerTypeTestsModule(M, ExportSummary, ImportSummary, DropTypeTests)
|
||||
.lower();
|
||||
bool Changed;
|
||||
if (UseCommandLine)
|
||||
Changed = LowerTypeTestsModule::runForTesting(M);
|
||||
else
|
||||
Changed =
|
||||
LowerTypeTestsModule(M, ExportSummary, ImportSummary, DropTypeTests)
|
||||
.lower();
|
||||
if (!Changed)
|
||||
return PreservedAnalyses::all();
|
||||
return PreservedAnalyses::none();
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
; RUN: opt -S -passes=lowertypetests < %s | FileCheck %s
|
||||
; RUN: opt -S -lowertypetests < %s | FileCheck %s
|
||||
; RUN: opt -S -lowertypetests -mtriple=x86_64-apple-macosx10.8.0 < %s | FileCheck %s
|
||||
; RUN: opt -S -O3 < %s | FileCheck -check-prefix=CHECK-NODISCARD %s
|
||||
|
|
Loading…
Reference in New Issue