forked from OSchip/llvm-project
96d74530c0
We can happily turn function definitions into declarations, thus obscuring their argument from being elided by this pass. I don't believe there is a good reason to just ignore declarations. likely even proper llvm intrinsics ones, at worst the input becomes uninteresting. The other question here is that all these transforms are all-or-nothing. In some cases, should we be treating each use separately? The main blocker here seemed to be that llvm::CloneFunctionInto() does `&OldFunc->front()`, which inserts a nullptr into a densemap, which is not happy about it and asserts. |
||
---|---|---|
.. | ||
Inputs | ||
remove-all-of-multiple-args.ll | ||
remove-args-2.ll | ||
remove-args-from-declaration.ll | ||
remove-args-used-by-ret.ll | ||
remove-args.ll | ||
remove-attributes-from-intrinsic-like-functions.ll | ||
remove-attributes-from-intrinsics.ll | ||
remove-bbs-unwinded-to.ll | ||
remove-bbs.ll | ||
remove-call-site-attributes.ll | ||
remove-funcs.ll | ||
remove-function-attributes.ll | ||
remove-function-bodies.ll | ||
remove-global-variable-attributes.ll | ||
remove-global-vars.ll | ||
remove-instructions.ll | ||
remove-invoked-functions.ll | ||
remove-metadata.ll | ||
remove-multiple-use-of-args-in-same-instruction.ll | ||
remove-multiple-use-of-global-vars-in-same-instruction.ll | ||
remove-operand-bundles.ll | ||
remove-single-arg.ll |