Home
last modified time | relevance | path

Searched refs:SSA (Results 1 – 25 of 126) sorted by relevance

123456

/openbsd/gnu/llvm/llvm/docs/HistoricalNotes/
H A D2001-06-01-GCCOptimizations.txt19 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 D2001-06-01-GCCOptimizations2.txt22 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 D2000-12-06-MeetingSummary.txt10 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 D2000-12-06-EncodingIdea.txt19 My guess is that most SSA references are to recent values (especially if
H A D2003-06-26-Reoptimizer2.txt8 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 D2001-02-13-Reference-Memory.txt32 SSA generation/PHI node insertion pass to build the dependencies
H A D2001-07-06-LoweringIRForCodeGen.txt16 processor but have VM semantics otherwise, i.e., all operands are in SSA
H A D2001-01-31-UniversalIRIdea.txt31 features that different languages select from. Also, using SSA with or
/openbsd/gnu/gcc/gcc/
H A Dtimevar.def81 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 Dcommon.opt942 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 Dtimevar.def86 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 DLoopRotationUtils.cpp108 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 DSSAUpdater.cpp322 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 Dloop.texi23 * 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 Dtree-ssa.texi7 @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 DX86SpeculativeLoadHardening.cpp156 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 DLangImpl07.rst22 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 Dindex.rst66 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 Diff43 >8 string SSA\ \b, SSA super smooth animation
/openbsd/gnu/usr.bin/gcc/gcc/doc/
H A Dpasses.texi264 @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 DSSAUpdater.h138 SSAUpdater &SSA;
/openbsd/gnu/llvm/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp160 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 DLoopTerminology.rst300 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 DInstrRefDebugInfo.md42 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 DWebAssemblyLowerEmscriptenEHSjLj.cpp783 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()

123456