//public binary_library.IBinaryFile bf; //public binary_library.ISection text_section; //public StringTable st; //public SignatureTable sigt; //public Requestor r; protected internal virtual bool NeedsMregLiveness(MCInst i) { if (i.p.Length == 0) { return(false); } if (i.p[0].t == ir.Opcode.vl_str) { switch (i.p[0].v) { case Generic.g_precall: case Generic.g_postcall: return(true); } } return(false); }
protected internal virtual string MCInstToDebug(MCInst i) { return(i.ToString()); }
protected internal abstract void SetBranchDest(MCInst i, int d);
protected internal abstract int GetBranchDest(MCInst i);
protected internal abstract bool IsCall(MCInst i);
protected internal abstract bool IsBranch(MCInst i);
protected internal abstract Reg GetMoveDest(MCInst i);
protected internal abstract Reg GetMoveSrc(MCInst i);
protected internal abstract int GetCondCode(MCInst i);
protected internal virtual bool HasSideEffects(MCInst i) { return(IsCall(i)); }