diff options
| author | Sam Elliott <aelliott@qti.qualcomm.com> | 2026-02-10 21:44:17 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-10 21:44:17 -0800 |
| commit | 0d08cb0e70378d1f10578f4e009eb29eb17ad2dd (patch) | |
| tree | a89ba701f88557743de28061966f2c71d3e33cd4 /llvm/lib/Transforms | |
| parent | b02b395a1e75030708efc099f449f96436a90141 (diff) | |
| download | llvm-0d08cb0e70378d1f10578f4e009eb29eb17ad2dd.tar.gz llvm-0d08cb0e70378d1f10578f4e009eb29eb17ad2dd.tar.bz2 llvm-0d08cb0e70378d1f10578f4e009eb29eb17ad2dd.zip | |
[outliners] Turn nooutline into an Enum Attribute (#163665)
This change turns the `"nooutline"` attribute into an enum attribute
called `nooutline`, and adds an auto-upgrader for bitcode to make the
same change to existing IR.
This IR attribute disables both the Machine Outliner (enabled at Oz for
some targets), and the IR Outliner (disabled by default).
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/IPO/IROutliner.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Utils/CodeExtractor.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/IPO/IROutliner.cpp b/llvm/lib/Transforms/IPO/IROutliner.cpp index 250957684dff..574e4639b543 100644 --- a/llvm/lib/Transforms/IPO/IROutliner.cpp +++ b/llvm/lib/Transforms/IPO/IROutliner.cpp @@ -2411,7 +2411,7 @@ void IROutliner::pruneIncompatibleRegions( if (FnForCurrCand.hasOptNone()) continue; - if (FnForCurrCand.hasFnAttribute("nooutline")) { + if (FnForCurrCand.hasFnAttribute(Attribute::NoOutline)) { LLVM_DEBUG({ dbgs() << "... Skipping function with nooutline attribute: " << FnForCurrCand.getName() << "\n"; diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp index fe8758b94293..b298a8ae144d 100644 --- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp +++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp @@ -949,6 +949,7 @@ Function *CodeExtractor::constructFunctionDeclaration( case Attribute::NoFree: case Attribute::NoImplicitFloat: case Attribute::NoInline: + case Attribute::NoOutline: case Attribute::NonLazyBind: case Attribute::NoRedZone: case Attribute::NoUnwind: |
