diff gen/passes/GarbageCollect2Stack.cpp @ 1316:8c65217be813

Work around an LLVM bug by not referring to globals from metadata. This was only used for consistency checking anyway. For the LLVM bug, see http://llvm.org/PR4180 / http://llvm.org/PR4046
author Frits van Bommel <fvbommel wxs.nl>
date Fri, 08 May 2009 16:00:44 +0200
parents e2ec50329af1
children 4099548c80e0
line wrap: on
line diff
--- a/gen/passes/GarbageCollect2Stack.cpp	Fri May 08 12:21:53 2009 +0200
+++ b/gen/passes/GarbageCollect2Stack.cpp	Fri May 08 16:00:44 2009 +0200
@@ -347,7 +347,7 @@
         return NULL;
     
     if (node->getNumOperands() != TD_NumFields ||
-            node->getOperand(TD_Confirm)->stripPointerCasts() != ti_global)
+            (TD_Confirm >= 0 && node->getOperand(TD_Confirm)->stripPointerCasts() != ti_global))
         return NULL;
     
     return node->getOperand(TD_Type)->getType();