diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-10-08 18:49:46 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-10-08 18:49:46 +0000 |
commit | 5fcbf0d26ecb99d54c182f542bf8db43ff048d6d (patch) | |
tree | 2dca91eb24ea35cb8a3c1b8461d4bdbc29cdc4e0 /lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | eda312193dfc56cb9a5d1d3e7cf3c89dce07124a (diff) |
Add a SelectionDAG getTargetInsertSubreg convenience function,
similar to getTargetExtractSubreg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83564 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index f6fed2145d..8c4421e235 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -4769,6 +4769,17 @@ SelectionDAG::getTargetExtractSubreg(int SRIdx, DebugLoc DL, EVT VT, return SDValue(Subreg, 0); } +/// getTargetInsertSubreg - A convenience function for creating +/// TargetInstrInfo::INSERT_SUBREG nodes. +SDValue +SelectionDAG::getTargetInsertSubreg(int SRIdx, DebugLoc DL, EVT VT, + SDValue Operand, SDValue Subreg) { + SDValue SRIdxVal = getTargetConstant(SRIdx, MVT::i32); + SDNode *Result = getMachineNode(TargetInstrInfo::INSERT_SUBREG, DL, + VT, Operand, Subreg, SRIdxVal); + return SDValue(Result, 0); +} + /// getNodeIfExists - Get the specified node if it's already available, or /// else return NULL. SDNode *SelectionDAG::getNodeIfExists(unsigned Opcode, SDVTList VTList, |