Delete dead PHI nodes in a block and recursively dead operands.

Synopsis

Declared in <llvm/Transforms/Utils/BasicBlockUtils.h>

bool
DeleteDeadPHIs(
    BasicBlock* BB,
    TargetLibraryInfo const* TLI = nullptr,
    MemorySSAUpdater* MSSAU = nullptr,
    SmallPtrSetImpl<PHINode*>* KnownNonDeadPHIs = nullptr);

Description

Examine each PHI in the given block and delete it if it is dead. Also recursively delete any operands that become dead as a result. This includes tracing the def‐use list from the PHI to see if it is ultimately unused or if it reaches an unused cycle. Return true if any PHIs were deleted.

Return Value

True if any PHI nodes were deleted.

Parameters

Name

Description

BB

Block whose PHI nodes may be deleted.

TLI

Optional target library info for deadness analysis.

MSSAU

Optional MemorySSA updater notified of deletions.

KnownNonDeadPHIs

Optional set of PHIs known not to be dead.

Created with MrDocs