summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff options
context:
space:
mode:
authorTilmann Scheller <tilmann.scheller@googlemail.com>2008-12-02 12:12:25 +0000
committerTilmann Scheller <tilmann.scheller@googlemail.com>2008-12-02 12:12:25 +0000
commit318ccb0e62ecd82d842d9b86a6b7dce31ecae21d (patch)
treea493de58a58c95f5535517e9d8a6e96697d562a9 /llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
parent1db9bbe802bc50484129213ca74437b38c556fc2 (diff)
downloadbcm5719-llvm-318ccb0e62ecd82d842d9b86a6b7dce31ecae21d.tar.gz
bcm5719-llvm-318ccb0e62ecd82d842d9b86a6b7dce31ecae21d.zip
make it possible to custom lower TRUNCATE (needed for the CellSPU target)
llvm-svn: 60409
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 9c5745755f2..cd90f672513 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -3904,6 +3904,11 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) {
case Legal:
Tmp1 = LegalizeOp(Node->getOperand(0));
Result = DAG.UpdateNodeOperands(Result, Tmp1);
+ if (TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0)) ==
+ TargetLowering::Custom) {
+ Tmp1 = TLI.LowerOperation(Result, DAG);
+ if (Tmp1.getNode()) Result = Tmp1;
+ }
break;
case Expand:
ExpandOp(Node->getOperand(0), Tmp1, Tmp2);
OpenPOWER on IntegriCloud