summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/IA64/IA64ISelPattern.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-07-10 01:56:13 +0000
committerChris Lattner <sabre@nondot.org>2005-07-10 01:56:13 +0000
commit53676dfd33a98cbbb6abba62b044dccc90df5529 (patch)
tree8dec792023602b8ab7837414931db20664c74645 /llvm/lib/Target/IA64/IA64ISelPattern.cpp
parentde0a4b198764c87de4dacce87950b899c40f7f5d (diff)
downloadbcm5719-llvm-53676dfd33a98cbbb6abba62b044dccc90df5529.tar.gz
bcm5719-llvm-53676dfd33a98cbbb6abba62b044dccc90df5529.zip
Change *EXTLOAD to use an VTSDNode operand instead of being an MVTSDNode.
This is the last MVTSDNode. This allows us to eliminate a bunch of special case code for handling MVTSDNodes. Also, remove some uses of dyn_cast that should really be cast (which is cheaper in a release build). llvm-svn: 22368
Diffstat (limited to 'llvm/lib/Target/IA64/IA64ISelPattern.cpp')
-rw-r--r--llvm/lib/Target/IA64/IA64ISelPattern.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/IA64/IA64ISelPattern.cpp b/llvm/lib/Target/IA64/IA64ISelPattern.cpp
index 3b3f90a489c..7d19da4c0f1 100644
--- a/llvm/lib/Target/IA64/IA64ISelPattern.cpp
+++ b/llvm/lib/Target/IA64/IA64ISelPattern.cpp
@@ -1815,9 +1815,7 @@ pC = pA OR pB
case ISD::SIGN_EXTEND_INREG: {
Tmp1 = SelectExpr(N.getOperand(0));
- MVTSDNode* MVN = dyn_cast<MVTSDNode>(Node);
- switch(MVN->getExtraValueType())
- {
+ switch(cast<VTSDNode>(Node->getOperand(1))->getVT()) {
default:
Node->dump();
assert(0 && "don't know how to sign extend this type");
@@ -1963,7 +1961,8 @@ pC = pA OR pB
case MVT::f64: Opc = IA64::LDF8; break;
}
} else { // this is an EXTLOAD or ZEXTLOAD
- MVT::ValueType TypeBeingLoaded = cast<MVTSDNode>(Node)->getExtraValueType();
+ MVT::ValueType TypeBeingLoaded =
+ cast<VTSDNode>(Node->getOperand(3))->getVT();
switch (TypeBeingLoaded) {
default: assert(0 && "Cannot extload/zextload this type!");
// FIXME: bools?
OpenPOWER on IntegriCloud