[x86 fast-isel] Per discussion with Eric, add all cases to switch with verbose
authorChad Rosier <mcrosier@apple.com>
Wed, 11 Jul 2012 19:58:38 +0000 (19:58 +0000)
committerChad Rosier <mcrosier@apple.com>
Wed, 11 Jul 2012 19:58:38 +0000 (19:58 +0000)
comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160069 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FastISel.cpp

index b410a6743dded66eda719aa01f408a1e079d2337..d82b40d69fbc3d33f407a3f0a8553524d3ffdf64 100644 (file)
@@ -1693,7 +1693,6 @@ bool X86FastISel::DoSelectCall(const Instruction *I, const char *MemIntName) {
 
     // Promote the value if needed.
     switch (VA.getLocInfo()) {
-    default: return false;
     case CCValAssign::Full: break;
     case CCValAssign::SExt: {
       assert(VA.getLocVT().isInteger() && !VA.getLocVT().isVector() &&
@@ -1737,6 +1736,14 @@ bool X86FastISel::DoSelectCall(const Instruction *I, const char *MemIntName) {
       ArgVT = VA.getLocVT();
       break;
     }
+    case CCValAssign::VExt: 
+      // VExt has not been implemented, so this should be impossible to reach
+      // for now.  However, fallback to Selection DAG isel once implemented.
+      return false;
+    case CCValAssign::Indirect:
+      // FIXME: Indirect doesn't need extending, but fast-isel doesn't fully
+      // support this.
+      return false;
     }
 
     if (VA.isRegLoc()) {