[#llvm-GCEmptyBasicBlocksPass] = xref:llvm.adoc[llvm]::GCEmptyBasicBlocksPass :relfileprefix: ../ :mrdocs: New PM pass that garbage‐collects empty machine basic blocks. == Synopsis Declared in `<llvm/CodeGen/GCEmptyBasicBlocks.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class GCEmptyBasicBlocksPass : public xref:llvm/OptionalPassInfoMixin-0246.adoc[OptionalPassInfoMixin<GCEmptyBasicBlocksPass>] ---- == Description Empty basic blocks (basic blocks without real code) appear as the result of optimization passes removing instructions. These blocks confuse profile analysis (e.g., basic block sections) since they will share the address of their fallthrough blocks. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/OptionalPassInfoMixin-0246.adoc[OptionalPassInfoMixin<GCEmptyBasicBlocksPass>]` | A CRTP mix‐in for passes that can be skipped. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/GCEmptyBasicBlocksPass/run.adoc[`run`] | Remove empty basic blocks from `MF.` |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/GCEmptyBasicBlocksPass/isRequired.adoc[`isRequired`] | Return false; optional passes may be skipped. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#