Handle void in XCoreTargetLowering::isLegalAddressingMode. Triggers in
authorEli Friedman <eli.friedman@gmail.com>
Fri, 17 Jul 2009 07:16:38 +0000 (07:16 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Fri, 17 Jul 2009 07:16:38 +0000 (07:16 +0000)
test/CodeGen/Generic.

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

lib/Target/XCore/XCoreISelLowering.cpp

index 113bfbf8dbec395182cc51d24fad600a0864d8f9..ec6cf4d4897b88cf5f890b39076001688c67b970 100644 (file)
@@ -1125,6 +1125,11 @@ static inline bool isImmUs4(int64_t val)
 bool
 XCoreTargetLowering::isLegalAddressingMode(const AddrMode &AM, 
                                               const Type *Ty) const {
+  // Be conservative with void
+  // FIXME: Can we be more aggressive?
+  if (Ty->getTypeID() == Type::VoidTyID)
+    return false;
+
   const TargetData *TD = TM.getTargetData();
   unsigned Size = TD->getTypeAllocSize(Ty);
   if (AM.BaseGV) {