[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Evan Cheng
evan.cheng at apple.com
Tue Feb 28 16:51:26 PST 2006
Changes in directory llvm/include/llvm/CodeGen:
SelectionDAGNodes.h updated: 1.104 -> 1.105
---
Log message:
- Added VConstant as an abstract version of ConstantVec.
- All abstrct vector nodes must have # of elements and element type as their
first two operands.
---
Diffs of the changes: (+15 -10)
SelectionDAGNodes.h | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 deletions(-)
Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.104 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.105
--- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.104 Sat Feb 25 03:52:55 2006
+++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h Tue Feb 28 18:51:13 2006
@@ -63,10 +63,10 @@
AssertSext, AssertZext,
// Various leaf nodes.
- Constant, ConstantFP, STRING,
- GlobalAddress, FrameIndex, ConstantPool,
- BasicBlock, ExternalSymbol, VALUETYPE, CONDCODE, Register,
-
+ STRING, BasicBlock, VALUETYPE, CONDCODE, Register,
+ Constant, ConstantFP,
+ GlobalAddress, FrameIndex, ConstantPool, ExternalSymbol,
+
// ConstantVec works like Constant or ConstantFP, except that it is not a
// leaf node. All operands are either Constant or ConstantFP nodes.
ConstantVec,
@@ -85,6 +85,11 @@
TargetConstantPool,
TargetExternalSymbol,
+ // Abstract version of ConstantVec with abstract Vector type. The first node
+ // is a constant element count, the second is a value type indicating the
+ // type of the elements.
+ VConstant,
+
// CopyToReg - This node has three operands: a chain, a register number to
// set to this value, and a value.
CopyToReg,
@@ -139,9 +144,9 @@
// Simple abstract vector operators. Unlike the integer and floating point
// binary operators, these nodes also take two additional operands:
// a constant element count, and a value type node indicating the type of
- // the elements. The order is op0, op1, count, type. All vector opcodes,
- // including VLOAD, must currently have count and type as their 3rd and 4th
- // arguments.
+ // the elements. The order is count, type, op0, op1. All vector opcodes,
+ // including VLOAD and VConstant must currently have count and type as
+ // their 1st and 2nd arguments.
VADD, VSUB, VMUL,
// MULHU/MULHS - Multiply high - Multiply two integers of type iN, producing
@@ -243,9 +248,9 @@
// SRCVALUE node that provides alias analysis information.
LOAD, STORE,
- // Abstract vector version of LOAD. VLOAD has a token chain as the first
- // operand, followed by a pointer operand, a constant element count, a value
- // type node indicating the type of the elements, and a SRCVALUE node.
+ // Abstract vector version of LOAD. VLOAD has a constant element count as
+ // the first operand, followed by a value type node indicating the type of
+ // the elements, a token chain, a pointer operand, and a SRCVALUE node.
VLOAD,
// EXTLOAD, SEXTLOAD, ZEXTLOAD - These three operators all load a value from
More information about the llvm-commits
mailing list