[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sat Mar 18 22:47:33 PST 2006
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.324 -> 1.325
---
Log message:
Allow SCALAR_TO_VECTOR to be custom lowered.
---
Diffs of the changes: (+9 -0)
LegalizeDAG.cpp | 9 +++++++++
1 files changed, 9 insertions(+)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.324 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.325
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.324 Sun Mar 19 00:31:19 2006
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sun Mar 19 00:47:21 2006
@@ -783,9 +783,18 @@
default: assert(0 && "This action is not supported yet!");
case TargetLowering::Legal:
break;
+ case TargetLowering::Custom:
+ Tmp3 = TLI.LowerOperation(Result, DAG);
+ if (Tmp3.Val) {
+ Result = Tmp3;
+ break;
+ }
+ // FALLTHROUGH
case TargetLowering::Expand: {
// If the target doesn't support this, store the value to a temporary
// stack slot, then EXTLOAD the vector back out.
+ // TODO: If a target doesn't support this, create a stack slot for the
+ // whole vector, then store into it, then load the whole vector.
SDOperand StackPtr =
CreateStackTemporary(Node->getOperand(0).getValueType());
SDOperand Ch = DAG.getNode(ISD::STORE, MVT::Other, DAG.getEntryNode(),
More information about the llvm-commits
mailing list