29 #define DEBUG_NAME "compiler2/Value"
37 return OS <<
"Value NULL";
49 OS <<
"Users of " <<
this <<
nl ;
51 OS <<
"user: " << *
i <<
nl;
56 LOG(
"Value::replace_value(this=" <<
this <<
",v=" << v <<
")" <<
nl );
65 LOG(
"replacing value " <<
this <<
" with " << v <<
nl );
76 LOG(
"Value::remove_user(this=" <<
this <<
",I=" << I <<
")" <<
nl );
80 WARING_MSG(
"corrupt double link detected",
"Instruction " << I <<
" used " <<
this);
97 LOG(
"Value::~Value(this=" <<
this <<
")" <<
nl );
100 while ( (i =
user_list.begin() ) != e ) {
virtual OStream & print(OStream &OS) const
print
#define DEBUG(STMT)
Execute debug statements in your current module.
_Base::const_iterator const_iterator
JNIEnv jthread jobject jclass jlong size
void replace_value(Value *v)
Replace this Value this the new one in all users.
int get_id() const
return a unique identifier for this instruction
Simple stream class for formatted output.
OStream & operator<<(OStream &OS, const Conditional::CondID &cond)
void replace_op(Value *v_old, Value *v_new)
OStream & print_users(OStream &OS) const
#define LOG(STMT)
Analogous to DEBUG.
OStream & dbg()
The default destination for logging messages.