1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00
llvm-mirror/lib/Transforms/Utils
Justin Bogner 621a2ef540 LPM: Stop threading Pass * through all of the loop utility APIs. NFC
A large number of loop utility functions take a `Pass *` and reach
into it to find out which analyses to preserve. There are a number of
problems with this:

- The APIs have access to pretty well any Pass state they want, so
  it's hard to tell what they may or may not do.

- Other APIs have copied these and pass around a `Pass *` even though
  they don't even use it. Some of these just hand a nullptr to the API
  since the callers don't even have a pass available.

- Passes in the new pass manager don't work like the current ones, so
  the APIs can't be used as is there.

Instead, we should explicitly thread the analysis results that we
actually care about through these APIs. This is both simpler and more
reusable.

llvm-svn: 255669
2015-12-15 19:40:57 +00:00
..
AddDiscriminators.cpp Fix the debug build breakage that getDiscriminator is called by mistake. 2015-11-19 20:29:27 +00:00
ASanStackFrameLayout.cpp [Utils] Put includes in correct order. NFC. 2015-11-24 18:57:06 +00:00
BasicBlockUtils.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
BreakCriticalEdges.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
BuildLibCalls.cpp [Utils] Put includes in correct order. NFC. 2015-11-24 18:57:06 +00:00
BypassSlowDivision.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
CloneFunction.cpp Delete trailing whitespace; NFC 2015-12-09 20:33:45 +00:00
CloneModule.cpp Return a std::unique_ptr from CloneModule. NFC. 2015-12-08 23:57:17 +00:00
CMakeLists.txt TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
CmpInstAnalysis.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CodeExtractor.cpp [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
CtorUtils.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
DemoteRegToStack.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
FlattenCFG.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
GlobalStatus.cpp GlobalOpt does not treat externally_initialized globals correctly 2015-10-12 13:20:52 +00:00
InlineFunction.cpp [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
InstructionNamer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntegerDivision.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
LCSSA.cpp [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
LLVMBuild.txt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
Local.cpp [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
LoopSimplify.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
LoopUnroll.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
LoopUnrollRuntime.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
LoopUtils.cpp Revert r255115 until we figure out how to fix the bot failures. 2015-12-09 15:25:28 +00:00
LoopVersioning.cpp Re-commit r255115, with the PredicatedScalarEvolution class moved to 2015-12-09 16:06:28 +00:00
LowerInvoke.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
LowerSwitch.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
Makefile
Mem2Reg.cpp [Mem2Reg] Respect optnone 2015-12-11 13:36:59 +00:00
MetaRenamer.cpp Whoops, remove trailing whitespace. 2015-08-27 05:37:12 +00:00
ModuleUtils.cpp Create llvm.global_ctors in the new format. 2015-12-06 16:18:25 +00:00
PromoteMemoryToRegister.cpp getParent() ^ 3 == getModule() ; NFCI 2015-12-14 17:24:23 +00:00
SimplifyCFG.cpp [SimplifyCFG] allow speculation of exactly one expensive instruction (PR24818) 2015-12-15 17:38:29 +00:00
SimplifyIndVar.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
SimplifyInstructions.cpp [Utils] Put includes in correct order. NFC. 2015-11-24 18:57:06 +00:00
SimplifyLibCalls.cpp getParent() ^ 3 == getModule() ; NFCI 2015-12-14 17:24:23 +00:00
SplitModule.cpp TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
SSAUpdater.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SymbolRewriter.cpp Remove unnecessary includes 2015-08-08 00:41:53 +00:00
UnifyFunctionExitNodes.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
Utils.cpp Pass to emit DWARF path discriminators. 2014-03-03 20:06:11 +00:00
ValueMapper.cpp Bring r254336 back: 2015-12-01 15:19:48 +00:00