Ejemplo n.º 1
0
 private int? constantValue(MilocInstruction s, Register r)
 {
     var d = defs.GetDef(s, r.IntVal);
     if (d.Count != 1)
         return null;
     var load = d[0] as LoadiInstruction;
     if (load == null)
         return null;
     if (!powersOfTwoToExponent.ContainsKey(load.Immed0))
         return null;
     return powersOfTwoToExponent[load.Immed0];
 }
Ejemplo n.º 2
0
        public SubInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("sub")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Ejemplo n.º 3
0
        public XoriInstruction(
Register regDest0,Register regSource0,int immed0	)
            : base("xor")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.Immed0 = immed0;
        }
Ejemplo n.º 4
0
        public AddInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("add")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Ejemplo n.º 5
0
        public StoreInstruction(
Register regSource0,Register regSource1	)
            : base("store")
        {
            this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Ejemplo n.º 6
0
        public OrInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("or")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Ejemplo n.º 7
0
        public RetvalueInstruction(
Register regSource0	)
            : base("retvalue")
        {
            this.RegSource0 = regSource0;
        }
Ejemplo n.º 8
0
        public MulInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("mul")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Ejemplo n.º 9
0
        public LoadInstruction(
Register regDest0,Register regSource0	)
            : base("load")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;
        }
Ejemplo n.º 10
0
        public LoadiInstruction(
Register regDest0,int immed0	)
            : base("loadi")
        {
            this.RegDest0 = regDest0;this.Immed0 = immed0;
        }
Ejemplo n.º 11
0
        public BrcondInstruction(
Register regSource0,Label label0,Label label1	)
            : base("br")
        {
            this.RegSource0 = regSource0;this.Label0 = label0;this.Label1 = label1;
        }
Ejemplo n.º 12
0
        public AllocaInstruction(
Register regDest0	)
            : base("alloca")
        {
            this.RegDest0 = regDest0;
        }