About: dbkwik:resource/alxrkX7b5mo08XXuZJZMoQ==   Sponge Permalink

An Entity of Type : owl:Thing, within Data Space : 134.155.108.49:8890 associated with source dataset(s)

AttributesValues
rdfs:label
  • Fold binary
rdfs:comment
  • 可換な命令(arg0とarg1を交換して計算しても結果が変わらない命令)であり、arg0が固定値であればarg0とarg1を交換して畳み込んでみる。 <pre> 7113 if (<a href="/mediawiki/Commutative_tree_code" title="Commutative tree code">commutative_tree_code</a> (code) 7114 && <a href="/mediawiki/Tree_swap_operands_p" title="Tree swap operands p">tree_swap_operands_p</a> (arg0, arg1, <a href="/mediawiki/True" title="True">true</a>)) 7115 return <a href="/mediawiki/Fold_build2" title="Fold build2">fold_build2</a> (code, type, op1, op0); 7116 7117 /* Now WINS is set as described above, 7118 ARG0 is the first operand of EXPR, 7119 and ARG1 is the second operand (if it has more than one operand). 7120 7121 First check for cases where an arithmetic operation is applied to a 7122 compound, conditional, or comparison operation. Push the arithmetic 7123 operation inside
dbkwik:ja.gcc/prop...iPageUsesTemplate
abstract
  • 可換な命令(arg0とarg1を交換して計算しても結果が変わらない命令)であり、arg0が固定値であればarg0とarg1を交換して畳み込んでみる。 <pre> 7113 if (<a href="/mediawiki/Commutative_tree_code" title="Commutative tree code">commutative_tree_code</a> (code) 7114 && <a href="/mediawiki/Tree_swap_operands_p" title="Tree swap operands p">tree_swap_operands_p</a> (arg0, arg1, <a href="/mediawiki/True" title="True">true</a>)) 7115 return <a href="/mediawiki/Fold_build2" title="Fold build2">fold_build2</a> (code, type, op1, op0); 7116 7117 /* Now WINS is set as described above, 7118 ARG0 is the first operand of EXPR, 7119 and ARG1 is the second operand (if it has more than one operand). 7120 7121 First check for cases where an arithmetic operation is applied to a 7122 compound, conditional, or comparison operation. Push the arithmetic 7123 operation inside the compound or conditional to see if any folding 7124 can then be done. Convert comparison to conditional for this purpose. 7125 The also optimizes non-constant cases that used to be done in 7126 expand_expr. 7127 7128 Before we do that, see if this is a BIT_AND_EXPR or a BIT_IOR_EXPR, 7129 one of the operands is a comparison and the other is a comparison, a 7130 BIT_AND_EXPR with the constant 1, or a truth value. In that case, the 7131 code below would make the expression more complex. Change it to a 7132 TRUTH_{AND,OR}_EXPR. Likewise, convert a similar NE_EXPR to 7133 TRUTH_XOR_EXPR and an EQ_EXPR to the inversion of a TRUTH_XOR_EXPR. */ 7134 7135 if ((code == <a href="/mediawiki/BIT_AND_EXPR" title="BIT AND EXPR">BIT_AND_EXPR</a> || code == <a href="/mediawiki/BIT_IOR_EXPR" title="BIT IOR EXPR">BIT_IOR_EXPR</a> 7136 || code == <a href="/mediawiki/EQ_EXPR" title="EQ EXPR">EQ_EXPR</a> || code == <a href="/mediawiki/NE_EXPR" title="NE EXPR">NE_EXPR</a>) 7137 && ((<a href="/mediawiki/Truth_value_p" title="Truth value p">truth_value_p</a> (<a href="/mediawiki/TREE_CODE" title="TREE CODE">TREE_CODE</a> (arg0)) 7138 && (<a href="/mediawiki/Truth_value_p" title="Truth value p">truth_value_p</a> (<a href="/mediawiki/TREE_CODE" title="TREE CODE">TREE_CODE</a> (arg1)) 7139 || (<a href="/mediawiki/TREE_CODE" title="TREE CODE">TREE_CODE</a> (arg1) == <a href="/mediawiki/BIT_AND_EXPR" title="BIT AND EXPR">BIT_AND_EXPR</a> 7140 && <a href="/mediawiki/Integer_onep" title="Integer onep">integer_onep</a> (<a href="/mediawiki/TREE_OPERAND" title="TREE OPERAND">TREE_OPERAND</a> (arg1, 1))))) 7141 || (<a href="/mediawiki/Truth_value_p" title="Truth value p">truth_value_p</a> (<a href="/mediawiki/TREE_CODE" title="TREE CODE">TREE_CODE</a> (arg1)) 7142 && (<a href="/mediawiki/Truth_value_p" title="Truth value p">truth_value_p</a> (<a href="/mediawiki/TREE_CODE" title="TREE CODE">TREE_CODE</a> (arg0)) 7143 || (<a href="/mediawiki/TREE_CODE" title="TREE CODE">TREE_CODE</a> (arg0) == <a href="/mediawiki/BIT_AND_EXPR" title="BIT AND EXPR">BIT_AND_EXPR</a> 7144 && <a href="/mediawiki/Integer_onep" title="Integer onep">integer_onep</a> (<a href="/mediawiki/TREE_OPERAND" title="TREE OPERAND">TREE_OPERAND</a> (arg0, 1))))))) 7145 { 7146 tem = <a href="/mediawiki/Fold_build2" title="Fold build2">fold_build2</a> (code == <a href="/mediawiki/BIT_AND_EXPR" title="BIT AND EXPR">BIT_AND_EXPR</a> ? <a href="/mediawiki/TRUTH_AND_EXPR" title="TRUTH AND EXPR">TRUTH_AND_EXPR</a> 7147 : code == <a href="/mediawiki/BIT_IOR_EXPR" title="BIT IOR EXPR">BIT_IOR_EXPR</a> ? <a href="/mediawiki/TRUTH_OR_EXPR" title="TRUTH OR EXPR">TRUTH_OR_EXPR</a> 7148 : <a href="/mediawiki/TRUTH_XOR_EXPR" title="TRUTH XOR EXPR">TRUTH_XOR_EXPR</a>, 7149 <a href="/mediawiki/Boolean_type_node" title="Boolean type node">boolean_type_node</a>, 7150 <a href="/mediawiki/Fold_convert" title="Fold convert">fold_convert</a> (<a href="/mediawiki/Boolean_type_node" title="Boolean type node">boolean_type_node</a>, arg0), 7151 <a href="/mediawiki/Fold_convert" title="Fold convert">fold_convert</a> (<a href="/mediawiki/Boolean_type_node" title="Boolean type node">boolean_type_node</a>, arg1)); 7152 7153 if (code == <a href="/mediawiki/EQ_EXPR" title="EQ EXPR">EQ_EXPR</a>) 7154 tem = <a href="/mediawiki/Invert_truthvalue" title="Invert truthvalue">invert_truthvalue</a> (tem); 7155 7156 return <a href="/mediawiki/Fold_convert" title="Fold convert">fold_convert</a> (type, tem); 7157 } 7158 </pre>
Alternative Linked Data Views: ODE     Raw Data in: CXML | CSV | RDF ( N-Triples N3/Turtle JSON XML ) | OData ( Atom JSON ) | Microdata ( JSON HTML) | JSON-LD    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3217, on Linux (x86_64-pc-linux-gnu), Standard Edition
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2012 OpenLink Software