Skip to content

Commit 444be74

Browse files
committed
[Pass] Add some missing passes
When dumping IR pipeline in unit test, these passes show their class names, so add them to pass builder to ensure all names are populated. Also, when invoke `opt -print-pipeline-passes` without `-S`, it will print: Could not parse dumped pass pipeline: unknown module pass 'BitcodeWriterPass'
1 parent 76482b7 commit 444be74

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

llvm/lib/Passes/PassBuilder.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
#include "llvm/Analysis/TargetTransformInfo.h"
7373
#include "llvm/Analysis/TypeBasedAliasAnalysis.h"
7474
#include "llvm/Analysis/UniformityAnalysis.h"
75+
#include "llvm/Bitcode/BitcodeWriterPass.h"
7576
#include "llvm/CodeGen/AssignmentTrackingAnalysis.h"
7677
#include "llvm/CodeGen/BasicBlockSectionsProfileReader.h"
7778
#include "llvm/CodeGen/CallBrPrepare.h"
@@ -80,19 +81,23 @@
8081
#include "llvm/CodeGen/ExpandLargeDivRem.h"
8182
#include "llvm/CodeGen/ExpandLargeFpConvert.h"
8283
#include "llvm/CodeGen/ExpandMemCmp.h"
84+
#include "llvm/CodeGen/ExpandReductions.h"
8385
#include "llvm/CodeGen/GCMetadata.h"
8486
#include "llvm/CodeGen/HardwareLoops.h"
8587
#include "llvm/CodeGen/IndirectBrExpand.h"
8688
#include "llvm/CodeGen/InterleavedAccess.h"
8789
#include "llvm/CodeGen/InterleavedLoadCombine.h"
8890
#include "llvm/CodeGen/JMCInstrumenter.h"
8991
#include "llvm/CodeGen/LowerEmuTLS.h"
92+
#include "llvm/CodeGen/PreISelIntrinsicLowering.h"
93+
#include "llvm/CodeGen/ReplaceWithVeclib.h"
9094
#include "llvm/CodeGen/SafeStack.h"
9195
#include "llvm/CodeGen/SelectOptimize.h"
9296
#include "llvm/CodeGen/ShadowStackGCLowering.h"
9397
#include "llvm/CodeGen/SjLjEHPrepare.h"
9498
#include "llvm/CodeGen/StackProtector.h"
9599
#include "llvm/CodeGen/TypePromotion.h"
100+
#include "llvm/CodeGen/UnreachableBlockElim.h"
96101
#include "llvm/CodeGen/WasmEHPrepare.h"
97102
#include "llvm/CodeGen/WinEHPrepare.h"
98103
#include "llvm/IR/DebugInfo.h"
@@ -488,6 +493,8 @@ PassBuilder::PassBuilder(TargetMachine *TM, PipelineTuningOptions PTO,
488493
#define CGSCC_ANALYSIS(NAME, CREATE_PASS) \
489494
PIC->addClassToPassName(decltype(CREATE_PASS)::name(), NAME);
490495
#include "PassRegistry.def"
496+
497+
PIC->addClassToPassName(BitcodeWriterPass::name(), "write-bitcode");
491498
}
492499
}
493500

llvm/lib/Passes/PassRegistry.def

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ MODULE_PASS("pgo-icall-prom", PGOIndirectCallPromotion())
103103
MODULE_PASS("pgo-instr-gen", PGOInstrumentationGen())
104104
MODULE_PASS("pgo-instr-use", PGOInstrumentationUse())
105105
MODULE_PASS("poison-checking", PoisonCheckingPass())
106+
MODULE_PASS("pre-isel-intrinsic-lowering", PreISelIntrinsicLoweringPass(*TM))
106107
MODULE_PASS("print", PrintModulePass(dbgs()))
107108
MODULE_PASS("print-callgraph", CallGraphPrinterPass(dbgs()))
108109
MODULE_PASS("print-callgraph-sccs", CallGraphSCCsPrinterPass(dbgs()))
@@ -315,6 +316,7 @@ FUNCTION_PASS("dwarf-eh-prepare", DwarfEHPreparePass(TM))
315316
FUNCTION_PASS("expand-large-div-rem", ExpandLargeDivRemPass(TM))
316317
FUNCTION_PASS("expand-large-fp-convert", ExpandLargeFpConvertPass(TM))
317318
FUNCTION_PASS("expand-memcmp", ExpandMemCmpPass(TM))
319+
FUNCTION_PASS("expand-reductions", ExpandReductionsPass())
318320
FUNCTION_PASS("fix-irreducible", FixIrreduciblePass())
319321
FUNCTION_PASS("flattencfg", FlattenCFGPass())
320322
FUNCTION_PASS("float2int", Float2IntPass())
@@ -406,6 +408,7 @@ FUNCTION_PASS("print<uniformity>", UniformityInfoPrinterPass(dbgs()))
406408
FUNCTION_PASS("reassociate", ReassociatePass())
407409
FUNCTION_PASS("redundant-dbg-inst-elim", RedundantDbgInstEliminationPass())
408410
FUNCTION_PASS("reg2mem", RegToMemPass())
411+
FUNCTION_PASS("replace-with-veclib", ReplaceWithVeclib())
409412
FUNCTION_PASS("safe-stack", SafeStackPass(TM))
410413
FUNCTION_PASS("scalarize-masked-mem-intrin", ScalarizeMaskedMemIntrinPass())
411414
FUNCTION_PASS("scalarizer", ScalarizerPass())
@@ -427,6 +430,7 @@ FUNCTION_PASS("trigger-verifier-error", TriggerVerifierErrorPass())
427430
FUNCTION_PASS("tsan", ThreadSanitizerPass())
428431
FUNCTION_PASS("typepromotion", TypePromotionPass(TM))
429432
FUNCTION_PASS("unify-loop-exits", UnifyLoopExitsPass())
433+
FUNCTION_PASS("unreachable-block-elim", UnreachableBlockElimPass())
430434
FUNCTION_PASS("vector-combine", VectorCombinePass())
431435
FUNCTION_PASS("verify", VerifierPass())
432436
FUNCTION_PASS("verify<domtree>", DominatorTreeVerifierPass())

0 commit comments

Comments
 (0)