aboutsummaryrefslogtreecommitdiffstats
path: root/docs/HistoricalNotes/2001-07-08-InstructionSelection2.txt
blob: 1ae006d508615fe7a5b9d7a6bc9fae94e5122616 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Date: Sun, 8 Jul 2001 10:02:20 -0500
From: Vikram S. Adve <vadve@cs.uiuc.edu>
To: vadve@cs.uiuc.edu, Ruchira Sasanka <sasanka@students.uiuc.edu>
Cc: Chris Lattner <lattner@cs.uiuc.edu>
Subject: RE: machine instruction operands

I got interrupted and forgot to explain the example.  In that case:

        reg will be the 3rd operand of MUL and it will be of type
MO_MInstrVirtualReg.  The field MachineInstr* minstr will point to the
instruction that computes reg.

        numElements will be an immediate constant, not a register.

        %sp will be operand 1 of ADD and it will be of type MO_MachineReg.  The
field regNum identifies the register.

        numElements will be operand 2 of ADD and it will be of type
MO_VMVirtualReg.  The field Value* value identifies the value.

        ptr will be operand 3 of ADD will also be %sp, i.e., of
        type MO_MachineReg. regNum identifies the register.

--Vikram