Don't try to set an EFLAGS operand to dead if no instruction was created.
[oota-llvm.git] / lib / Target / CppBackend / CPPBackend.cpp
index 6bf463846f4a249c17e7b60c10891ea226ae32ef..dbe4f2d2d3010d946d08ba102ce5b2906328051a 100644 (file)
@@ -292,6 +292,8 @@ namespace {
     switch (LT) {
     case GlobalValue::InternalLinkage:
       Out << "GlobalValue::InternalLinkage"; break;
+    case GlobalValue::PrivateLinkage:
+      Out << "GlobalValue::PrivateLinkage"; break;
     case GlobalValue::LinkOnceLinkage:
       Out << "GlobalValue::LinkOnceLinkage "; break;
     case GlobalValue::WeakLinkage:
@@ -450,28 +452,25 @@ namespace {
         unsigned index = PAL.getSlot(i).Index;
         Attributes attrs = PAL.getSlot(i).Attrs;
         Out << "PAWI.Index = " << index << "U; PAWI.Attrs = 0 ";
-        if (attrs & Attribute::SExt)
-          Out << " | Attribute::SExt";
-        if (attrs & Attribute::ZExt)
-          Out << " | Attribute::ZExt";
-        if (attrs & Attribute::StructRet)
-          Out << " | Attribute::StructRet";
-        if (attrs & Attribute::InReg)
-          Out << " | Attribute::InReg";
-        if (attrs & Attribute::NoReturn)
-          Out << " | Attribute::NoReturn";
-        if (attrs & Attribute::NoUnwind)
-          Out << " | Attribute::NoUnwind";
-        if (attrs & Attribute::ByVal)
-          Out << " | Attribute::ByVal";
-        if (attrs & Attribute::NoAlias)
-          Out << " | Attribute::NoAlias";
-        if (attrs & Attribute::Nest)
-          Out << " | Attribute::Nest";
-        if (attrs & Attribute::ReadNone)
-          Out << " | Attribute::ReadNone";
-        if (attrs & Attribute::ReadOnly)
-          Out << " | Attribute::ReadOnly";
+#define HANDLE_ATTR(X)                 \
+        if (attrs & Attribute::X)      \
+          Out << " | Attribute::" #X;  \
+        attrs &= ~Attribute::X;
+        
+        HANDLE_ATTR(SExt);
+        HANDLE_ATTR(ZExt);
+        HANDLE_ATTR(StructRet);
+        HANDLE_ATTR(InReg);
+        HANDLE_ATTR(NoReturn);
+        HANDLE_ATTR(NoUnwind);
+        HANDLE_ATTR(ByVal);
+        HANDLE_ATTR(NoAlias);
+        HANDLE_ATTR(Nest);
+        HANDLE_ATTR(ReadNone);
+        HANDLE_ATTR(ReadOnly);
+        HANDLE_ATTR(NoCapture);
+#undef HANDLE_ATTR
+        assert(attrs == 0 && "Unhandled attribute!");
         Out << ";";
         nl(Out);
         Out << "Attrs.push_back(PAWI);";