1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/include/llvm/Transforms/Utils
Peter Collingbourne e728c537a2 Cloning: Clean up the interface to the CloneFunction function.
Remove the ModuleLevelChanges argument, and the ability to create new
subprograms for cloned functions. The latter was added without review in
r203662, but it has no in-tree clients (all non-test callers pass false
for ModuleLevelChanges [1], so it isn't reachable outside of tests). It
also isn't clear that adding a duplicate subprogram to the compile unit is
always the right thing to do when cloning a function within a module. If
this functionality comes back it should be accompanied with a more concrete
use case.

Furthermore, all in-tree clients add the returned function to the module.
Since that's pretty much the only sensible thing you can do with the function,
just do that in CloneFunction.

[1] http://llvm-cs.pcc.me.uk/lib/Transforms/Utils/CloneFunction.cpp/rCloneFunction

Differential Revision: http://reviews.llvm.org/D18628

llvm-svn: 269110
2016-05-10 20:23:24 +00:00
..
ASanStackFrameLayout.h
BasicBlockUtils.h improve documentation comments; NFC 2016-04-23 16:31:48 +00:00
BuildLibCalls.h [TLI] Unify LibFunc attribute inference. NFCI. 2016-04-27 19:04:40 +00:00
BypassSlowDivision.h Clarify that the bypassSlowDivision optimization operates on a single BB [v2] 2016-01-04 23:18:58 +00:00
Cloning.h Cloning: Clean up the interface to the CloneFunction function. 2016-05-10 20:23:24 +00:00
CmpInstAnalysis.h
CodeExtractor.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
CtorUtils.h
Evaluator.h Transforms: Move GlobalOpt's Evaluator to Utils where it can be reused. 2016-02-03 02:51:00 +00:00
FunctionImportUtils.h Rework linkInModule(), making it oblivious to ThinLTO 2016-03-19 00:40:31 +00:00
GlobalStatus.h
IntegerDivision.h
Local.h [SimlifyCFG] Prevent passes from destroying canonical loop structure, especially for nested loops 2016-03-29 04:08:57 +00:00
LoopUtils.h [LoopVectorize] Handling induction variable with non-constant step. 2016-05-10 07:33:35 +00:00
LoopVersioning.h [LoopVectorize] Annotate versioned loop with noalias metadata 2016-03-17 20:32:37 +00:00
MemorySSA.h Typo. NFC. 2016-05-04 15:42:29 +00:00
ModuleUtils.h [ThinLTO] Prevent importing of "llvm.used" values 2016-04-20 14:39:45 +00:00
PromoteMemToReg.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SanitizerStats.h Introduce sanstats tool and llvm::CreateSanitizerStatReport function. 2016-01-16 00:31:11 +00:00
SimplifyIndVar.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SimplifyLibCalls.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SplitModule.h Add to the split module utility an SCC based method which allows not to globalize any local variables. 2016-01-18 21:07:13 +00:00
SSAUpdater.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SSAUpdaterImpl.h Make more headers self-contained. 2016-01-27 18:03:37 +00:00
SymbolRewriter.h
UnifyFunctionExitNodes.h
UnrollLoop.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ValueMapper.h Reapply "ValueMapper: Eliminate cross-file co-recursion, NFC" 2016-04-16 02:29:55 +00:00