Next: , Previous: <code>GIMPLE_ASM</code>, Up: Tuple specific accessors


12.7.2 GIMPLE_ASSIGN

— GIMPLE function: gimple gimple_build_assign (tree lhs, tree rhs)

构建一条GIMPLE_ASSIGN语句。左手边为lhs中传递的左值。右手边可以为一个一元或者二元tree表达式。表达式tree rhs将被平整,其操作数赋值给新语句中相应的操作数插槽中。该函数可用于,你已经有一个tree表达式,并想将其转成元组的时候。然而,不用为了调用该函数,而特意构建表达式tree。如果操作数已经是在独立的tree中,则最好使用gimple_build_assign_with_ops

— GIMPLE function: gimple gimplify_assign (tree dst, tree src, gimple_seq *seq_p)

构建一个新的GIMPLE_ASSIGN元组,并将其追加到*SEQ_P的结尾。

DST/SRC分别为目的和源。你可以在DSTSRC中传递ungimplified tree,它们会在需要的时候被转换成gimple操作数。

该函数返回新创建的GIMPLE_ASSIGN元组。

— GIMPLE function: gimple gimple_build_assign_with_ops (enum tree_code subcode, tree lhs, tree op1, tree op2)

该函数类似于gimple_build_assign,不过是当赋值的右手边操作数已经被拆分成不同操作数的时候,用来构建一个GIMPLE_ASSIGN语句。

左手边为在lhs中传递的左值。subcode为赋值的右手边的tree_code。op1和op2为操作数。如果op2为null,则subcode必须为一个一元表达式的

— GIMPLE function: enum tree_code gimple_assign_rhs_code (gimple g)

返回赋值语句GRHS上的表达式代码。

— GIMPLE function: enum gimple_rhs_class gimple_assign_rhs_class (gimple g)

返回赋值语句G右手边的表达式代码的gimple rhs类别。这个永远不会返回GIMPLE_INVALID_RHS

— GIMPLE function: tree gimple_assign_lhs (gimple g)

返回赋值语句GLHS

— GIMPLE function: tree *gimple_assign_lhs_ptr (gimple g)

返回指向赋值语句GLHS的指针。

— GIMPLE function: tree gimple_assign_rhs1 (gimple g)

返回指向赋值语句GRHS的第一个操作数。

— GIMPLE function: tree *gimple_assign_rhs1_ptr (gimple g)

返回指向赋值语句GRHS的第一个操作数的地址。

— GIMPLE function: tree gimple_assign_rhs2 (gimple g)

返回指向赋值语句GRHS的第二个操作数。

— GIMPLE function: tree *gimple_assign_rhs2_ptr (gimple g)

返回指向赋值语句GRHS的第二个操作数的地址。

— GIMPLE function: tree gimple_assign_rhs3 (gimple g)
— GIMPLE function: tree *gimple_assign_rhs3_ptr (gimple g)
— GIMPLE function: void gimple_assign_set_lhs (gimple g, tree lhs)

LHS设置为赋值语句GLHS操作数。

— GIMPLE function: void gimple_assign_set_rhs1 (gimple g, tree rhs)

RHS设置为赋值语句GRHS的第一个操作数。

— GIMPLE function: void gimple_assign_set_rhs2 (gimple g, tree rhs)

RHS设置为赋值语句GRHS的第二个操作数。

— GIMPLE function: void gimple_assign_set_rhs3 (gimple g, tree rhs)
— GIMPLE function: bool gimple_assign_cast_p (gimple s)

返回真,如果S为一个有类型转换的赋值。