llvm-project/llvm/test/Reduce
Roman Lebedev 96d74530c0
[Reduce] Argument reduction: do deal with function declarations
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.
2020-07-26 01:31:56 +03:00
..
Inputs [Reduce] Argument reduction: do deal with function declarations 2020-07-26 01:31:56 +03:00
remove-all-of-multiple-args.ll [Reduce] Rewrite runDeltaPass() workloop: do reduce a single and/or last target 2020-07-23 10:51:46 +03:00
remove-args-2.ll [NFC] Use FileCheck for llvm-reduce interesness test 2020-07-21 09:03:45 +01:00
remove-args-from-declaration.ll [Reduce] Argument reduction: do deal with function declarations 2020-07-26 01:31:56 +03:00
remove-args-used-by-ret.ll [Reduce] Argument reduction: don't try to drop terminator instructions 2020-07-21 00:06:03 +03:00
remove-args.ll Remove unnecessary 'rm' in llvm-reduce tests 2020-07-09 10:49:11 -07:00
remove-attributes-from-intrinsic-like-functions.ll [llvm-reduce] Reducing attributes 2020-07-09 23:10:43 +03:00
remove-attributes-from-intrinsics.ll [llvm-reduce] Reducing attributes 2020-07-09 23:10:43 +03:00
remove-bbs-unwinded-to.ll [Reduce] Basic block reduction: do properly handle invoke insts (PR46818) 2020-07-26 01:28:59 +03:00
remove-bbs.ll llvm-reduce: Add pass to reduce basic blocks 2019-09-18 21:45:05 +00:00
remove-call-site-attributes.ll [llvm-reduce] Reducing attributes 2020-07-09 23:10:43 +03:00
remove-funcs.ll [NFC][Reduce] Rewrite remove-funcs.ll to use FileCheck, make it less fragile 2020-07-22 16:11:56 +03:00
remove-function-attributes.ll [llvm-reduce] Reducing attributes 2020-07-09 23:10:43 +03:00
remove-function-bodies.ll [Reduce] Try turning function definitions into declarations first, NFCI-ish 2020-07-25 21:43:36 +03:00
remove-global-variable-attributes.ll [llvm-reduce] Reducing attributes 2020-07-09 23:10:43 +03:00
remove-global-vars.ll Remove unnecessary 'rm' in llvm-reduce tests 2020-07-09 10:49:11 -07:00
remove-instructions.ll llvm-reduce: Add pass to reduce instructions 2019-09-19 00:59:27 +00:00
remove-invoked-functions.ll [Reduce] Argument reduction: do properly handle invoke insts (PR46819) 2020-07-26 01:29:00 +03:00
remove-metadata.ll Remove unnecessary 'rm' in llvm-reduce tests 2020-07-09 10:49:11 -07:00
remove-multiple-use-of-args-in-same-instruction.ll [Reduce] Argument reduction: do deal with function declarations 2020-07-26 01:31:56 +03:00
remove-multiple-use-of-global-vars-in-same-instruction.ll [Reduce] Argument reduction: do deal with function declarations 2020-07-26 01:31:56 +03:00
remove-operand-bundles.ll Remove unnecessary 'rm' in llvm-reduce tests 2020-07-09 10:49:11 -07:00
remove-single-arg.ll [Reduce] Rewrite runDeltaPass() workloop: do reduce a single and/or last target 2020-07-23 10:51:46 +03:00