About: Sparse conditional constant propagation     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatCompilerOptimizations, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FSparse_conditional_constant_propagation

In computer science, sparse conditional constant propagation is an optimization frequently applied in compilers after conversion to static single assignment form (SSA). It simultaneously removes some kinds of dead code and propagates constants throughout a program. Moreover, it can find more constant values, and thus more opportunities for improvement, than separately applying dead code elimination and constant propagation in any order or any number of repetitions.

AttributesValues
rdf:type
rdfs:label
  • Sparse conditional constant propagation
  • 疎な条件分岐を考慮した定数伝播
  • 稀疏有條件的常數傳播
rdfs:comment
  • 疎な条件分岐を考慮した定数伝播(英: Sparse conditional constant propagation)とは、計算機科学におけるコンパイラ最適化手法の一つで、静的単一代入(SSA)形式に変換した後に適用されることが多い。 この手法は、プログラム全体に対してある種のデッドコードの除去と、定数畳み込みを同時に実施する。重複の回数によらず、単純なデッドコード削除と定数畳み込みより強力な方法である。 アルゴリズムはSSA形式のコードに抽象解釈を実施することにより働く。抽象解釈を実施する間、典型的には、値に対応する定数の値と定数のフラットな束と、束に対する大域的な SSA 変数と値の割り当てを用いる。アルゴリズムの最重要な点は分岐命令をどのように扱うかにある。分岐命令に遭遇すると、抽象化された値を、可能な限り正確に条件の変数に割り当てるようにする。 値が完全に正確で、抽象解釈で分岐のどちらに進むかが決定できる場合もある。値が定数ではない場合、あるいは条件文における変数が未定義の場合、保守的にいずれの分岐方向も残される。 抽象解釈が完了すると、到達しない命令はデッドコードとされる。定数であることが判明した SSA 変数は使用される箇所でインライン展開(伝播)される。
  • 在電腦科學的領域,稀疏有條件的常數傳播(sparse conditional constant propagation)是一個优化的技術,常用在以静态单赋值形式(SSA)進行最佳化的編譯器,它可以移除程式中一些無用的程式碼以及進行常數傳播。然而,它比起死碼刪除以及常數傳播更加的強大。 這個演算法在SSA中藉由實現程式碼的抽象释义來運作。在實現抽象釋義的過程中,它使用常數的格(Lattice)以及在全域環境對應SSA變數到這個格的數值,演算法的關鍵在於它如何處理分支指令的詮釋,當意外發生,分支的狀態盡可能評估最佳的方式,使綁定變數的抽象數值更加的精確。在需要數值要絕對精確的案例之下,抽象執行可以決定分支的方向。如果數值不是常數,或是一個變數在為定義的狀態,那麼兩個分支的方向必須都保留。 完成後的抽象表現,指令不會到達被標注為死碼的程式區段,SSA變數在常數會使用到的地方可能會以內連(inline)的方式實現。
  • In computer science, sparse conditional constant propagation is an optimization frequently applied in compilers after conversion to static single assignment form (SSA). It simultaneously removes some kinds of dead code and propagates constants throughout a program. Moreover, it can find more constant values, and thus more opportunities for improvement, than separately applying dead code elimination and constant propagation in any order or any number of repetitions.
sameAs
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
foaf:isPrimaryTopicOf
prov:wasDerivedFrom
has abstract
  • In computer science, sparse conditional constant propagation is an optimization frequently applied in compilers after conversion to static single assignment form (SSA). It simultaneously removes some kinds of dead code and propagates constants throughout a program. Moreover, it can find more constant values, and thus more opportunities for improvement, than separately applying dead code elimination and constant propagation in any order or any number of repetitions. The algorithm operates by performing abstract interpretation of the code in SSA form. During abstract interpretation, it typically uses a flat lattice of constants for values and a global environment mapping SSA variables to values in this lattice. The crux of the algorithm comes in how it handles the interpretation of branch instructions. When encountered, the condition for a branch is evaluated as best possible given the precision of the abstract values bound to variables in the condition. It may be the case that the values are perfectly precise (neither top nor bottom) and hence, abstract execution can decide in which direction to branch. If the values are not constant, or a variable in the condition is undefined, then both branch directions must be taken to remain conservative. Upon completion of the abstract interpretation, instructions which were never reached are marked as dead code. SSA variables found to have constant values may then be inlined at (propagated to) their point of use.
  • 疎な条件分岐を考慮した定数伝播(英: Sparse conditional constant propagation)とは、計算機科学におけるコンパイラ最適化手法の一つで、静的単一代入(SSA)形式に変換した後に適用されることが多い。 この手法は、プログラム全体に対してある種のデッドコードの除去と、定数畳み込みを同時に実施する。重複の回数によらず、単純なデッドコード削除と定数畳み込みより強力な方法である。 アルゴリズムはSSA形式のコードに抽象解釈を実施することにより働く。抽象解釈を実施する間、典型的には、値に対応する定数の値と定数のフラットな束と、束に対する大域的な SSA 変数と値の割り当てを用いる。アルゴリズムの最重要な点は分岐命令をどのように扱うかにある。分岐命令に遭遇すると、抽象化された値を、可能な限り正確に条件の変数に割り当てるようにする。 値が完全に正確で、抽象解釈で分岐のどちらに進むかが決定できる場合もある。値が定数ではない場合、あるいは条件文における変数が未定義の場合、保守的にいずれの分岐方向も残される。 抽象解釈が完了すると、到達しない命令はデッドコードとされる。定数であることが判明した SSA 変数は使用される箇所でインライン展開(伝播)される。
  • 在電腦科學的領域,稀疏有條件的常數傳播(sparse conditional constant propagation)是一個优化的技術,常用在以静态单赋值形式(SSA)進行最佳化的編譯器,它可以移除程式中一些無用的程式碼以及進行常數傳播。然而,它比起死碼刪除以及常數傳播更加的強大。 這個演算法在SSA中藉由實現程式碼的抽象释义來運作。在實現抽象釋義的過程中,它使用常數的格(Lattice)以及在全域環境對應SSA變數到這個格的數值,演算法的關鍵在於它如何處理分支指令的詮釋,當意外發生,分支的狀態盡可能評估最佳的方式,使綁定變數的抽象數值更加的精確。在需要數值要絕對精確的案例之下,抽象執行可以決定分支的方向。如果數值不是常數,或是一個變數在為定義的狀態,那麼兩個分支的方向必須都保留。 完成後的抽象表現,指令不會到達被標注為死碼的程式區段,SSA變數在常數會使用到的地方可能會以內連(inline)的方式實現。
http://purl.org/voc/vrank#hasRank
http://purl.org/li...ics/gold/hypernym
is Link from a Wikipage to another Wikipage of
is Wikipage disambiguates of
is foaf:primaryTopic of
Faceted Search & Find service v1.17_git39 as of Aug 09 2019


Alternative Linked Data Documents: PivotViewer | iSPARQL | ODE     Content Formats:       RDF       ODATA       Microdata      About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3232 as of Aug 9 2019, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (61 GB total memory)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2019 OpenLink Software