IR: Aliases don't belong to an explicit comdat
authorDavid Majnemer <david.majnemer@gmail.com>
Thu, 10 Jul 2014 16:26:10 +0000 (16:26 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Thu, 10 Jul 2014 16:26:10 +0000 (16:26 +0000)
Aliases inherit their comdat from their aliasee, they don't have an
explicit comdat.

This fixes PR20279.

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

lib/IR/AsmWriter.cpp
test/Feature/comdat.ll

index 87d26b164bb5e02b2ffcedfdc20e322bf8a2ab79..a7499bc09b30988377df0f72838e66a901806b34 100644 (file)
@@ -1528,11 +1528,6 @@ void AssemblyWriter::printAlias(const GlobalAlias *GA) {
     writeOperand(Aliasee, !isa<ConstantExpr>(Aliasee));
   }
 
-  if (GA->hasComdat()) {
-    Out << ", comdat ";
-    PrintLLVMName(Out, GA->getComdat()->getName(), ComdatPrefix);
-  }
-
   printInfoComment(*GA);
   Out << '\n';
 }
index 6b94a418582f670ab153941a51dfce18fb064d34..05fb87c648ee2693c5a77ffc40c5f37ba33391e6 100644 (file)
@@ -9,6 +9,9 @@ $f2 = comdat any
 @v = global i32 0, comdat $f
 ; CHECK: @v = global i32 0, comdat $f
 
+@a = alias i32* @v
+; CHECK: @a = alias i32* @v{{$}}
+
 define void @f() comdat $f {
   ret void
 }