[all-commits] [llvm/llvm-project] 1cf3b7: [IPO] Remove IR Outliner (#211971)
Sam Elliott via All-commits
all-commits at lists.llvm.org
Fri Jul 31 15:03:52 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1cf3b70dab75e05516d97ce3d71d7a7495c7fcad
https://github.com/llvm/llvm-project/commit/1cf3b70dab75e05516d97ce3d71d7a7495c7fcad
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
R llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/InitializePasses.h
R llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/CMakeLists.txt
R llvm/lib/Transforms/IPO/IROutliner.cpp
R llvm/test/Analysis/IRSimilarityIdentifier/basic.ll
R llvm/test/Analysis/IRSimilarityIdentifier/debug-inst-starts-block.ll
R llvm/test/Analysis/IRSimilarityIdentifier/different.ll
R llvm/test/Analysis/IRSimilarityIdentifier/nothing.ll
M llvm/test/CMakeLists.txt
R llvm/test/DebugInfo/AArch64/ir-outliner.ll
M llvm/test/Other/new-pm-defaults.ll
R llvm/test/Transforms/IROutliner/alloca-addrspace-1.ll
R llvm/test/Transforms/IROutliner/alloca-addrspace.ll
R llvm/test/Transforms/IROutliner/different-intrinsics.ll
R llvm/test/Transforms/IROutliner/different-order-phi-merges.ll
R llvm/test/Transforms/IROutliner/duplicate-merging-phis.ll
R llvm/test/Transforms/IROutliner/exit-block-phi-node-value-attribution.ll
R llvm/test/Transforms/IROutliner/exit-phi-nodes-incoming-value-constant-argument.ll
R llvm/test/Transforms/IROutliner/extraction.ll
R llvm/test/Transforms/IROutliner/gvn-output-set-overload.ll
R llvm/test/Transforms/IROutliner/gvn-phi-debug.ll
R llvm/test/Transforms/IROutliner/illegal-allocas.ll
R llvm/test/Transforms/IROutliner/illegal-assumes.ll
R llvm/test/Transforms/IROutliner/illegal-branches.ll
R llvm/test/Transforms/IROutliner/illegal-callbr.ll
R llvm/test/Transforms/IROutliner/illegal-catchpad.ll
R llvm/test/Transforms/IROutliner/illegal-cleanup.ll
R llvm/test/Transforms/IROutliner/illegal-frozen.ll
R llvm/test/Transforms/IROutliner/illegal-indirect-calls.ll
R llvm/test/Transforms/IROutliner/illegal-invoke.ll
R llvm/test/Transforms/IROutliner/illegal-landingpad.ll
R llvm/test/Transforms/IROutliner/illegal-memcpy.ll
R llvm/test/Transforms/IROutliner/illegal-memmove.ll
R llvm/test/Transforms/IROutliner/illegal-memset.ll
R llvm/test/Transforms/IROutliner/illegal-nomerge.ll
R llvm/test/Transforms/IROutliner/illegal-phi-nodes.ll
R llvm/test/Transforms/IROutliner/illegal-returns-twice.ll
R llvm/test/Transforms/IROutliner/illegal-typeid-for.ll
R llvm/test/Transforms/IROutliner/illegal-vaarg.ll
R llvm/test/Transforms/IROutliner/included-phi-nodes-begin.ll
R llvm/test/Transforms/IROutliner/included-phi-nodes-end.ll
R llvm/test/Transforms/IROutliner/legal-debug.ll
R llvm/test/Transforms/IROutliner/legal-indirect-calls.ll
R llvm/test/Transforms/IROutliner/mismatched-phi-exits-not-in-first-outlined.ll
R llvm/test/Transforms/IROutliner/mismatched-phi-exits.ll
R llvm/test/Transforms/IROutliner/mismatched-phi-outputs-ordering.ll
R llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-begin.ll
R llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-end.ll
R llvm/test/Transforms/IROutliner/no-external-block-entries.ll
R llvm/test/Transforms/IROutliner/no-outlining-optnone.ll
R llvm/test/Transforms/IROutliner/nooutline-attribute.ll
R llvm/test/Transforms/IROutliner/one-external-incoming-block-phi-node.ll
R llvm/test/Transforms/IROutliner/opt-remarks.ll
R llvm/test/Transforms/IROutliner/outline-memcpy.ll
R llvm/test/Transforms/IROutliner/outline-memmove.ll
R llvm/test/Transforms/IROutliner/outline-memset.ll
R llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
R llvm/test/Transforms/IROutliner/outlining-across-branch.ll
R llvm/test/Transforms/IROutliner/outlining-address-taken.ll
R llvm/test/Transforms/IROutliner/outlining-basic-branches.ll
R llvm/test/Transforms/IROutliner/outlining-bitcasts.ll
R llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll
R llvm/test/Transforms/IROutliner/outlining-call-and-indirect.ll
R llvm/test/Transforms/IROutliner/outlining-calls-names-must-match.ll
R llvm/test/Transforms/IROutliner/outlining-calls.ll
R llvm/test/Transforms/IROutliner/outlining-commutative-fp.ll
R llvm/test/Transforms/IROutliner/outlining-commutative-operands-opposite-order.ll
R llvm/test/Transforms/IROutliner/outlining-commutative.ll
R llvm/test/Transforms/IROutliner/outlining-compatible-and-attribute-transfer.ll
R llvm/test/Transforms/IROutliner/outlining-compatible-and-never-transfer-riscv.ll
R llvm/test/Transforms/IROutliner/outlining-compatible-or-attribute-transfer.ll
R llvm/test/Transforms/IROutliner/outlining-constants-vs-registers.ll
R llvm/test/Transforms/IROutliner/outlining-cost-model.ll
R llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
R llvm/test/Transforms/IROutliner/outlining-different-constants.ll
R llvm/test/Transforms/IROutliner/outlining-different-globals.ll
R llvm/test/Transforms/IROutliner/outlining-different-output-blocks.ll
R llvm/test/Transforms/IROutliner/outlining-different-structure.ll
R llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll
R llvm/test/Transforms/IROutliner/outlining-first-instruction.ll
R llvm/test/Transforms/IROutliner/outlining-gep.ll
R llvm/test/Transforms/IROutliner/outlining-isomorphic-predicates.ll
R llvm/test/Transforms/IROutliner/outlining-larger-size-commutative.ll
R llvm/test/Transforms/IROutliner/outlining-multiple-exits-diff-outputs.ll
R llvm/test/Transforms/IROutliner/outlining-multiple-exits-one-output-set.ll
R llvm/test/Transforms/IROutliner/outlining-multiple-exits.ll
R llvm/test/Transforms/IROutliner/outlining-musttail.ll
R llvm/test/Transforms/IROutliner/outlining-no-return-functions.ll
R llvm/test/Transforms/IROutliner/outlining-odr.ll
R llvm/test/Transforms/IROutliner/outlining-remapped-outputs.ll
R llvm/test/Transforms/IROutliner/outlining-same-constants.ll
R llvm/test/Transforms/IROutliner/outlining-same-globals.ll
R llvm/test/Transforms/IROutliner/outlining-same-output-blocks.ll
R llvm/test/Transforms/IROutliner/outlining-special-state.ll
R llvm/test/Transforms/IROutliner/outlining-strip-loop-info.ll
R llvm/test/Transforms/IROutliner/outlining-swift-error.ll
R llvm/test/Transforms/IROutliner/outlining-swifttailcc.ll
R llvm/test/Transforms/IROutliner/outlining-tailcc.ll
R llvm/test/Transforms/IROutliner/phi-node-exit-path-order.ll
R llvm/test/Transforms/IROutliner/phi-nodes-non-constant.ll
R llvm/test/Transforms/IROutliner/phi-nodes-output-overload.ll
R llvm/test/Transforms/IROutliner/phi-nodes-parent-block-referential.ll
R llvm/test/Transforms/IROutliner/phi-nodes-simple.ll
R llvm/test/Transforms/IROutliner/region-end-of-module.ll
R llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll
M llvm/test/lit.cfg.py
R llvm/test/tools/llvm-sim/Inputs/sim1.ll
R llvm/test/tools/llvm-sim/fail-cases.test
R llvm/test/tools/llvm-sim/single-sim-file.test
R llvm/test/tools/llvm-sim/single-sim.test
R llvm/tools/llvm-sim/CMakeLists.txt
R llvm/tools/llvm-sim/llvm-sim.cpp
M llvm/unittests/Analysis/CMakeLists.txt
R llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
R llvm/utils/gn/secondary/llvm/tools/llvm-sim/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
M llvm/utils/profcheck-xfail.txt
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[IPO] Remove IR Outliner (#211971)
The IR Outliner has major bugs and no active maintainer, and is disabled
by default. The new LLVM Policy states the pass should be removed.
This commit removes:
- The IROutliner pass
- The IRSimilarity analysis
- The `llvm-sim` executable, used for understanding the latter
- All tests of the above
Related discussion:
https://discourse.llvm.org/t/ir-outliner-status-interest/89672
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list