llvm-project/llvm/lib/Transforms
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
..
AggressiveInstCombine AggressiveInstCombine.h - remove unused includes. NFC. 2020-07-23 16:20:13 +01:00
CFGuard [NFCI][IR] Introduce CallBase::Create() wrapper 2020-07-07 01:16:36 +03:00
Coroutines [Coroutines] Refactor sinkLifetimeStartMarkers 2020-07-09 18:23:28 +08:00
Hello
IPO [Attributor] Cache query results for isPotentiallyReachable in AAReachability 2020-07-23 20:49:28 +09:00
InstCombine [InstCombine] Move target-specific inst combining 2020-07-22 15:59:49 +02:00
Instrumentation [PGO] Fix incorrect function entry count 2020-07-24 17:39:55 -07:00
ObjCARC ObjCARC.h - remove unnecessary includes. NFC. 2020-06-24 12:30:59 +01:00
Scalar [SCCP] Restore the change reporting as well 2020-07-25 15:11:30 +02:00
Utils [Reduce] Argument reduction: do deal with function declarations 2020-07-26 01:31:56 +03:00
Vectorize [PGO][PGSO] Add profile guided size optimization to loop vectorization legality. 2020-07-21 11:16:36 -07:00
CMakeLists.txt Add Windows Control Flow Guard checks (/guard:cf). 2019-10-28 15:19:39 +00:00
LLVMBuild.txt Add Windows Control Flow Guard checks (/guard:cf). 2019-10-28 15:19:39 +00:00