[PATCH] D28404: IRGen: Add optnone attribute on function during O0
Paul Robinson via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 10 15:04:59 PST 2017
probinson added a comment.
In https://reviews.llvm.org/D28404#641757, @chandlerc wrote:
> % ag OptimizeNone lib/Transforms/IPO
> lib/Transforms/IPO/ForceFunctionAttrs.cpp
> 47: .Case("optnone", Attribute::OptimizeNone)
This is implementing a debugging option, not skipping a pass.
> lib/Transforms/IPO/Inliner.cpp
> 813: if (F.hasFnAttribute(Attribute::OptimizeNone))
This is declining to operate on a callee, not skipping a pass. Given that optnone is supposed to be paired with noinline, wouldn't this be redundant?
> lib/Transforms/IPO/InferFunctionAttrs.cpp
> 30: if (F.isDeclaration() && !F.hasFnAttribute((Attribute::OptimizeNone)))
>
> lib/Transforms/IPO/FunctionAttrs.cpp
> 1056: if (F.hasFnAttribute(Attribute::OptimizeNone)) {
> 1137: if (!F || F->hasFnAttribute(Attribute::OptimizeNone)) {
This is SCC stuff, which I don't really understand what it is trying to do. I wonder whether 'noinline' ought to be the relevant attribute, though.
https://reviews.llvm.org/D28404
More information about the cfe-commits
mailing list