Go to the documentation of this file. 1 package com.cliffc.aa.node;
8 import java.util.function.Predicate;
18 if(
_keep >= 2 )
return null;
19 int dlen =
_defs.len();
20 for(
int i=1; i<dlen; i++ ) {
22 if( cc!=
null && cc !=
this )
return set_def(i,cc);
27 for(
int i=1; i<dlen; i++ )
41 if( dlen == 1 )
return null;
49 if(
in(0)==
null &&
this instanceof
FunNode )
52 return in(1)==
this ? null :
in(1);
66 if( stack !=
null )
return stack;
84 if( idx== -1 )
return null;
86 if( r ==
this )
return null;
89 if( cfgs != 1 )
return null;
93 if( rphi.
_uses._len != 1 )
return null;
105 boolean stacked_phi = rphi.
_op ==
OP_PHI && rphi.
in(0)==r;
106 for(
int i = 1; i<r.
_defs._len; i++ )
107 phi.
add_def(stacked_phi ? rphi.
in(i) : rphi);
109 assert !stacked_phi || rphi.
_uses._len==0;
113 for(
int i = 1; i<r.
_defs._len; i++ )
123 for(
int i=1; i<
_defs._len; i++ ) {
162 if( n !=
null )
return n;
168 if( n1 !=
null && n1==n2 )
return n1;
170 return P.test(
this) ? this :
null;
Node walk_dom_last(Predicate< Node > P)
Memory type; the state of all of memory; memory edges order memory ops.
void add_flow_def_extra(Node chg)
an implementation of language AA
TypeMem live_use(GVNGCM.Mode opt_mode, Node def)
RegionNode(Node... ctrls)
static final TypeMem ALIVE
Node walk_dom_last(Predicate< Node > P)
Type value(GVNGCM.Mode opt_mode)
Node set_def(int idx, Node n)
public< N extends Node > N add_reduce(N n)
void add_flow_defs(Node n)
void add_flow_use_extra(Node chg)
public< N extends Node > N add_flow(N n)
static final byte OP_REGION