1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/include/llvm/IR
Jakub Kuderski bb148a0677 Reappl "[Dominators] Add the DomTreeUpdater class"
Summary:
This patch is the first in a series of patches related to the [[ http://lists.llvm.org/pipermail/llvm-dev/2018-June/123883.html | RFC - A new dominator tree updater for LLVM ]].

This patch introduces the DomTreeUpdater class, which provides a cleaner API to perform updates on available dominator trees (none, only DomTree, only PostDomTree, both) using different update strategies (eagerly or lazily) to simplify the updating process.

—Prior to the patch—

   - Directly calling update functions of DominatorTree updates the data structure eagerly while DeferredDominance does updates lazily.
   - DeferredDominance class cannot be used when a PostDominatorTree also needs to be updated.
   - Functions receiving DT/DDT need to branch a lot which is currently necessary.
   - Functions using both DomTree and PostDomTree need to call the update function separately on both trees.
   - People need to construct an additional DeferredDominance class to use functions only receiving DDT.

—After the patch—

Patch by Chijun Sima <simachijun@gmail.com>.

Reviewers: kuhar, brzycki, dmgreen, grosser, davide

Reviewed By: kuhar, brzycki

Author: NutshellySima

Subscribers: vsk, mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D48383

llvm-svn: 336163
2018-07-03 02:06:23 +00:00
..
Argument.h Remove inline keyword from inline classof methods 2017-06-29 19:35:17 +00:00
AssemblyAnnotationWriter.h
Attributes.h IR: fix documentation markup 2018-06-13 17:51:27 +00:00
Attributes.td Add the ShadowCallStack attribute 2018-04-03 20:10:40 +00:00
AutoUpgrade.h [IR] Upgrade comment token in objc retain release marker for asm call 2018-04-17 04:02:24 +00:00
BasicBlock.h Rename skipDebugInfo -> skipDebugIntrinsics, NFC 2018-06-26 21:16:59 +00:00
CallingConv.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
CallSite.h Allow inaccessiblememonly and inaccessiblemem_or_argmemonly to be overwriten on call site with operand bundle 2017-11-02 12:18:33 +00:00
CFG.h [STLExtras] Add distance() for ranges, pred_size(), and succ_size() 2018-05-10 23:01:54 +00:00
CMakeLists.txt [IR] Split Intrinsics.inc into enums and implementations 2018-06-23 02:02:38 +00:00
Comdat.h [LLVM-C] [bindings/go] Add C and Golang bindings for COMDAT 2018-03-14 18:33:53 +00:00
Constant.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
ConstantFolder.h
ConstantRange.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
Constants.h Add a factory method to ConstantDataArray that allows to pass in the data as StringRef 2018-06-19 08:12:28 +00:00
DataLayout.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DebugInfo.h [DebugInfo][OPT] NFC follow-up on "Fixing a couple of DI duplication bugs of CloneModule" 2018-04-13 21:23:11 +00:00
DebugInfoFlags.def [CodeView] Initial support for emitting S_THUNK32 symbols for compiler... 2018-04-16 16:53:57 +00:00
DebugInfoMetadata.h [DebugInfo] Refactoring DIType::setFlags to DIType::cloneWithFlags, NFC 2018-06-01 23:15:09 +00:00
DebugLoc.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DerivedTypes.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
DerivedUser.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-06-19 22:05:08 +00:00
DiagnosticHandler.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DiagnosticInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DiagnosticPrinter.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DIBuilder.h [DebugInfo] Refactoring DIType::setFlags to DIType::cloneWithFlags, NFC 2018-06-01 23:15:09 +00:00
Dominators.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DomTreeUpdater.h Reappl "[Dominators] Add the DomTreeUpdater class" 2018-07-03 02:06:23 +00:00
Function.h Add remarks describing when a pass changes the IR instruction count of a module 2018-05-18 17:26:39 +00:00
GetElementPtrTypeIterator.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
GlobalAlias.h Remove inline keyword from inline classof methods 2017-06-29 19:35:17 +00:00
GlobalIFunc.h Remove inline keyword from inline classof methods 2017-06-29 19:35:17 +00:00
GlobalIndirectSymbol.h Remove inline keyword from inline classof methods 2017-06-29 19:35:17 +00:00
GlobalObject.h Extend the GlobalObject metadata interface 2018-05-31 13:29:58 +00:00
GlobalValue.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
GlobalVariable.h [IR] - Make User construction exception safe 2018-02-28 11:32:23 +00:00
GVMaterializer.h
InlineAsm.h [inlineasm] Fix crash when number of matched input constraint operands overflows signed char 2017-10-25 12:51:32 +00:00
InstIterator.h
InstrTypes.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
Instruction.def [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
Instruction.h [IR] fix typo in comment; NFC 2018-06-21 22:25:42 +00:00
Instructions.h Improve ConvertDebugDeclareToDebugValue 2018-06-26 06:17:00 +00:00
InstVisitor.h [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
IntrinsicInst.h Re-apply "[DebugInfo] Check size of variable in ConvertDebugDeclareToDebugValue" 2018-06-15 13:48:55 +00:00
Intrinsics.h [IR] Split Intrinsics.inc into enums and implementations 2018-06-23 02:02:38 +00:00
Intrinsics.td Implement strip.invariant.group 2018-07-02 04:49:30 +00:00
IntrinsicsAArch64.td [AArch64] Implement FLT_ROUNDS macro. 2018-06-20 12:09:01 +00:00
IntrinsicsAMDGPU.td [AMDGPU] Overload llvm.amdgcn.fmad.ftz to support f16 2018-06-28 15:24:46 +00:00
IntrinsicsARM.td [NEON] Support vldNq intrinsics in AArch32 (LLVM part) 2018-06-27 13:57:52 +00:00
IntrinsicsBPF.td
IntrinsicsHexagon.td [Hexagon] Fix flags for store-related intrinsics 2018-03-30 14:57:01 +00:00
IntrinsicsMips.td
IntrinsicsNVVM.td [NVPTX, CUDA] Added support for m8n32k16 and m32n8k16 variants of wmma instructions. 2018-04-18 21:51:48 +00:00
IntrinsicsPowerPC.td [PowerPC] Mark the BDNZ intrinsic as NoDuplicate 2018-04-17 13:07:01 +00:00
IntrinsicsSystemZ.td [SystemZ] Add IntrWriteMem flag to int_s390_tabort intrinsic 2017-12-06 17:01:08 +00:00
IntrinsicsWebAssembly.td [WebAssembly] Update to the new names for the memory intrinsics. 2018-05-31 22:35:25 +00:00
IntrinsicsX86.td [X86] Remove masking from avx512 rotate intrinsics. Use select in IR instead. 2018-06-30 01:32:04 +00:00
IntrinsicsXCore.td
IRBuilder.h Implement strip.invariant.group 2018-07-02 04:49:30 +00:00
IRPrintingPasses.h [Debugify] Add -debugify-each for testing each pass in a pipeline 2018-05-15 00:29:27 +00:00
LegacyPassManager.h [LTO] Print time-passes information at conclusion of LTO codegen 2017-05-16 09:43:21 +00:00
LegacyPassManagers.h Add remarks describing when a pass changes the IR instruction count of a module 2018-05-18 17:26:39 +00:00
LegacyPassNameParser.h Fix opt --help ordering of available optimizations. 2017-06-30 18:44:33 +00:00
LLVMContext.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Mangler.h CodeGen: handle llvm.used properly for COFF 2018-01-20 00:28:02 +00:00
MDBuilder.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Metadata.def [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
Metadata.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Module.h Add remarks describing when a pass changes the IR instruction count of a module 2018-05-18 17:26:39 +00:00
ModuleSlotTracker.h
ModuleSummaryIndex.h [ThinLTO] Print names in function import debug messages when available 2018-06-27 18:03:39 +00:00
ModuleSummaryIndexYAML.h Use branch funnels for virtual calls when retpoline mitigation is enabled. 2018-03-09 19:11:44 +00:00
NoFolder.h
OperandTraits.h [IR] Remove stale comment from HungoffOperandTraits. NFC 2017-06-10 06:58:26 +00:00
Operator.h FastMathFlags: Make it easier to unset individual ones. 2018-05-24 15:15:27 +00:00
OptBisect.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
PassManager.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
PassManagerInternal.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
PatternMatch.h [PatternMatch] allow undef elements in vectors with m_Neg 2018-07-01 13:42:57 +00:00
PredIteratorCache.h
ProfileSummary.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SafepointIRVerifier.h [SafepointIRVerifier] Add verifier pass for finding GC relocation bugs 2017-07-05 01:16:29 +00:00
Statepoint.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
SymbolTableListTraits.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
TrackingMDRef.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Type.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
TypeBuilder.h
TypeFinder.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
Use.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
UseListOrder.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
User.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Value.def Reorder Value.def to optimize code size 2017-11-13 20:57:40 +00:00
Value.h In thin and full LTO + CFI, direct function calls may go through jump table 2018-06-04 18:18:12 +00:00
ValueHandle.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ValueMap.h NFC: delete ValueMap move ctor 2018-04-08 12:23:58 +00:00
ValueSymbolTable.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
Verifier.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00