Esempio 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];
 }
Esempio n. 2
0
        public SubInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("sub")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Esempio n. 3
0
        public XoriInstruction(
Register regDest0,Register regSource0,int immed0	)
            : base("xor")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.Immed0 = immed0;
        }
Esempio n. 4
0
        public AddInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("add")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Esempio n. 5
0
        public StoreInstruction(
Register regSource0,Register regSource1	)
            : base("store")
        {
            this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Esempio n. 6
0
        public OrInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("or")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Esempio n. 7
0
        public RetvalueInstruction(
Register regSource0	)
            : base("retvalue")
        {
            this.RegSource0 = regSource0;
        }
Esempio n. 8
0
        public MulInstruction(
Register regDest0,Register regSource0,Register regSource1	)
            : base("mul")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;this.RegSource1 = regSource1;
        }
Esempio n. 9
0
        public LoadInstruction(
Register regDest0,Register regSource0	)
            : base("load")
        {
            this.RegDest0 = regDest0;this.RegSource0 = regSource0;
        }
Esempio n. 10
0
        public LoadiInstruction(
Register regDest0,int immed0	)
            : base("loadi")
        {
            this.RegDest0 = regDest0;this.Immed0 = immed0;
        }
Esempio n. 11
0
        public BrcondInstruction(
Register regSource0,Label label0,Label label1	)
            : base("br")
        {
            this.RegSource0 = regSource0;this.Label0 = label0;this.Label1 = label1;
        }
Esempio n. 12
0
        public AllocaInstruction(
Register regDest0	)
            : base("alloca")
        {
            this.RegDest0 = regDest0;
        }