/openbsd/gnu/llvm/llvm/docs/HistoricalNotes/ |
H A D | 2001-06-01-GCCOptimizations.txt | 19 6 . *** Conversion to SSA 20 7 . [t] SSA Based DCE 33 things to reimplement would be SSA based PRE, Strength reduction & loop 41 SSA based optimizations that could be adapted (besides the fact that their 46 has been rerun... which causes me to wonder if the SSA generation code
|
H A D | 2001-06-01-GCCOptimizations2.txt | 22 could be faster, because we are using a "smarter" IR (SSA based). 24 > BTW, about SGI, "borrowing" SSA-based optimizations from one compiler and 29 more similar to LLVM than it is different in many respects (SSA based, 33 much less time consuming to adapt, say, SSA-PRE than to rewrite it. 35 > But your larger point is valid that adding SSA based optimizations is
|
H A D | 2000-12-06-MeetingSummary.txt | 10 variables in SSA form, as opposed to having a two dimensional namespace 11 of the original variable and the SSA instance subscript. 26 reconstructed from SSA form in linear time, that it would be an 73 'infinite' spaces that instructions operate in (SSA register numbers,
|
H A D | 2000-12-06-EncodingIdea.txt | 19 My guess is that most SSA references are to recent values (especially if
|
H A D | 2003-06-26-Reoptimizer2.txt | 8 in SSA form (kind of like LLVM's MachineInstrs.) Then re-allocate 101 3. Section 1 is the trace itself, in SSA form used by BinInterface,
|
H A D | 2001-02-13-Reference-Memory.txt | 32 SSA generation/PHI node insertion pass to build the dependencies
|
H A D | 2001-07-06-LoweringIRForCodeGen.txt | 16 processor but have VM semantics otherwise, i.e., all operands are in SSA
|
H A D | 2001-01-31-UniversalIRIdea.txt | 31 features that different languages select from. Also, using SSA with or
|
/openbsd/gnu/gcc/gcc/ |
H A D | timevar.def | 81 DEFTIMEVAR (TV_TREE_SSA_REWRITE_BLOCKS, "tree SSA rewrite") 82 DEFTIMEVAR (TV_TREE_SSA_OTHER , "tree SSA other") 83 DEFTIMEVAR (TV_TREE_SSA_INCREMENTAL , "tree SSA incremental") 116 DEFTIMEVAR (TV_TREE_SSA_UNCPROP , "tree SSA uncprop") 117 DEFTIMEVAR (TV_TREE_SSA_TO_NORMAL , "tree SSA to normal") 119 DEFTIMEVAR (TV_TREE_COPY_RENAME , "tree rename SSA copies") 120 DEFTIMEVAR (TV_TREE_SSA_VERIFY , "tree SSA verifier")
|
H A D | common.opt | 942 Enable SSA-CCP optimization on trees 946 Enable SSA-CCP optimization for stores and loads 954 Coalesce memory temporaries in the SSA->normal pass 958 Replace SSA temporaries with better names in copies 970 Enable SSA dead code elimination optimization on trees 1002 Enable SSA-PRE optimization on trees 1010 Enable SSA code sinking on trees 1018 Replace temporary expressions in the SSA->normal pass 1022 Perform live range splitting during the SSA->normal pass
|
/openbsd/gnu/usr.bin/gcc/gcc/ |
H A D | timevar.def | 86 DEFTIMEVAR (TV_TO_SSA , "convert to SSA") 87 DEFTIMEVAR (TV_SSA_CCP , "SSA CCP") 88 DEFTIMEVAR (TV_SSA_DCE , "SSA aggressive DCE") 89 DEFTIMEVAR (TV_FROM_SSA , "convert from SSA")
|
/openbsd/gnu/llvm/llvm/lib/Transforms/Utils/ |
H A D | LoopRotationUtils.cpp | 108 SSAUpdater SSA(InsertedPHIs); in RewriteUsesOfClonedInstructions() local 121 SSA.Initialize(OrigHeaderVal->getType(), OrigHeaderVal->getName()); in RewriteUsesOfClonedInstructions() 126 SSA.AddAvailableValue(OrigHeader, OrigHeaderVal); in RewriteUsesOfClonedInstructions() 127 SSA.AddAvailableValue(OrigPreheader, OrigPreHeaderVal); in RewriteUsesOfClonedInstructions() 151 SSA.RewriteUse(U); in RewriteUsesOfClonedInstructions() 172 else if (SSA.HasValueForBlock(UserBB)) in RewriteUsesOfClonedInstructions() 173 NewVal = SSA.GetValueInMiddleOfBlock(UserBB); in RewriteUsesOfClonedInstructions()
|
H A D | SSAUpdater.cpp | 322 SSAUpdater &S, StringRef BaseName) : SSA(S) { in LoadAndStorePromoter() 333 SSA.Initialize(SomeVal->getType(), BaseName); in LoadAndStorePromoter() 364 SSA.AddAvailableValue(BB, SI->getOperand(0)); in run() 426 SSA.AddAvailableValue(BB, StoredValue); in run() 433 Value *NewVal = SSA.GetValueInMiddleOfBlock(ALoad->getParent()); in run()
|
/openbsd/gnu/gcc/gcc/doc/ |
H A D | loop.texi | 23 * LCSSA:: Loop-closed SSA form. 213 loop-closed SSA form is preserved). Only useful on GIMPLE. 245 @section Loop-closed SSA form 247 @cindex Loop-closed SSA form 250 enforced on the SSA form: No SSA name is used outside of the loop in 253 created at the exits of the loops for the SSA names that are used 267 SSA name is defined. 274 updating for it as well; the amount of changes to SSA is the same). 281 @code{rewrite_into_loop_closed_ssa} is used to rewrite SSA form to 303 Given an SSA name, its behavior in loops can be analyzed using the [all …]
|
H A D | tree-ssa.texi | 7 @c Tree SSA 10 @node Tree SSA 12 @cindex Tree SSA 1189 @node SSA 1191 @cindex SSA 1195 by the Static Single Assignment (SSA) form. We implement the SSA form 1274 @subsection Preserving the SSA form 1276 @cindex preserving SSA form 1288 behind incremental SSA updates is similar: when new SSA names are 1399 @cindex preserving virtual SSA form [all …]
|
/openbsd/gnu/llvm/llvm/lib/Target/X86/ |
H A D | X86SpeculativeLoadHardening.cpp | 156 MachineSSAUpdater SSA; member 159 : RC(RC), SSA(MF) {} in PredState() 505 PS->SSA.Initialize(PS->InitialReg); in runOnMachineFunction() 506 PS->SSA.AddAvailableValue(&Entry, PS->InitialReg); in runOnMachineFunction() 525 PS->SSA.AddAvailableValue( in runOnMachineFunction() 553 PS->SSA.RewriteUse(Op); in runOnMachineFunction() 1196 PS->SSA.AddAvailableValue(&MBB, UpdatedStateReg); in tracePredStateThroughIndirectBranches() 1646 Register StateReg = PS->SSA.GetValueAtEndOfBlock(&MBB); in hardenLoadAddr() 1917 Register StateReg = PS->SSA.GetValueAtEndOfBlock(&MBB); in hardenValueInRegister() 2082 Register StateReg = PS->SSA.GetValueAtEndOfBlock(&MBB); in tracePredStateThroughCall() [all …]
|
/openbsd/gnu/llvm/llvm/docs/tutorial/MyFirstLanguageFrontend/ |
H A D | LangImpl07.rst | 22 directly in `SSA 24 Since LLVM requires that the input code be in SSA form, this is a very 29 for your front-end to build SSA form: LLVM provides highly tuned and 36 To understand why mutable variables cause complexities in SSA 85 of this chapter is not to explain the details of SSA form. For more 91 *requires* that its IR be in SSA form: there is no "non-ssa" mode for 92 it. However, SSA construction requires non-trivial algorithms and data 101 SSA form. In the example above, note that the loads from G and H are 207 algorithm for constructing SSA form and has a number of optimizations 234 front-end? Wouldn't it be better if I just did SSA construction [all …]
|
H A D | index.rst | 66 gives us a chance to talk about SSA construction and control 76 to construct SSA form in LLVM: LLVM does *not* require your front-end 77 to construct SSA form in order to use it!
|
/openbsd/usr.bin/file/magdir/ |
H A D | iff | 43 >8 string SSA\ \b, SSA super smooth animation
|
/openbsd/gnu/usr.bin/gcc/gcc/doc/ |
H A D | passes.texi | 264 @cindex SSA optimizations 268 Static Single Assignment (SSA) based optimization passes. The 269 SSA conversion passes (to/from) are turned on by the @option{-fssa} 271 These passes utilize a form called Static Single Assignment. In SSA form, 275 Conversion to and from SSA form is handled by functions in 283 @cindex SSA Conditional Constant Propagation 284 @cindex Conditional Constant Propagation, SSA based 288 SSA Conditional Constant Propagation. Turned on by the @option{-fssa-ccp} 299 @cindex SSA DCE 300 @cindex DCE, SSA based [all …]
|
/openbsd/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdater.h | 138 SSAUpdater &SSA;
|
/openbsd/gnu/llvm/llvm/lib/Transforms/Instrumentation/ |
H A D | InstrProfiling.cpp | 160 Instruction *L, Instruction *S, SSAUpdater &SSA, Value *Init, in PGOCounterPromoterHelper() argument 165 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 169 SSA.AddAvailableValue(PH, Init); 179 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion() 275 SSAUpdater SSA(&NewPHIs); in run() local 291 PGOCounterPromoterHelper Promoter(Cand.first, Cand.second, SSA, InitVal, in run()
|
/openbsd/gnu/llvm/llvm/docs/ |
H A D | LoopTerminology.rst | 300 Loop Closed SSA (LCSSA) 303 A program is in Loop Closed SSA Form if it is in SSA form 307 Programs written in LLVM IR are always in SSA form but not necessarily 328 outside of it. In Loop Closed SSA form, this would be represented as follows: 408 to take effect). If we did not have Loop Closed SSA form, it means that X3 could 432 Looking from the outer loop with the normal SSA form, the first use of k 470 property of SSA. It is also just an overapproximation of the actual 488 .. [#def-use-chain] A property of SSA is that there exists a def-use chain
|
H A D | InstrRefDebugInfo.md | 42 While the function remains in SSA form, virtual register `%2` is sufficient to 44 eventually leaves SSA form, and register optimisations will obscure which 104 LLVM's existing SSA tools are used to place `PHI`s for each function, between
|
/openbsd/gnu/llvm/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyLowerEmscriptenEHSjLj.cpp | 783 SSAUpdaterBulk SSA; in rebuildSSA() local 786 unsigned VarID = SSA.AddVariable(I.getName(), I.getType()); in rebuildSSA() 790 SSA.AddAvailableValue(VarID, II->getNormalDest(), II); in rebuildSSA() 792 SSA.AddAvailableValue(VarID, &BB, &I); in rebuildSSA() 800 SSA.AddUse(VarID, &U); in rebuildSSA() 804 SSA.RewriteAllUses(&DT); in rebuildSSA()
|