diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-07-10 01:56:13 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-07-10 01:56:13 +0000 |
| commit | 53676dfd33a98cbbb6abba62b044dccc90df5529 (patch) | |
| tree | 8dec792023602b8ab7837414931db20664c74645 /llvm/lib/Target/IA64/IA64ISelPattern.cpp | |
| parent | de0a4b198764c87de4dacce87950b899c40f7f5d (diff) | |
| download | bcm5719-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.cpp | 7 |
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? |

