[cfe-commits] r135862 - in /cfe/trunk: lib/CodeGen/CodeGenModule.cpp test/CodeGen/asm.c

Chris Lattner sabre at nondot.org
Sat Jul 23 13:04:25 PDT 2011


Author: lattner
Date: Sat Jul 23 15:04:25 2011
New Revision: 135862

URL: http://llvm.org/viewvc/llvm-project?rev=135862&view=rev
Log:
fix PR10415, tidying up IR representation of module level inline asm
to avoid extraneous \n's.

Modified:
    cfe/trunk/lib/CodeGen/CodeGenModule.cpp
    cfe/trunk/test/CodeGen/asm.c

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=135862&r1=135861&r2=135862&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Sat Jul 23 15:04:25 2011
@@ -2186,6 +2186,8 @@
     const std::string &S = getModule().getModuleInlineAsm();
     if (S.empty())
       getModule().setModuleInlineAsm(AsmString);
+    else if (*--S.end() == '\n')
+      getModule().setModuleInlineAsm(S + AsmString.str());
     else
       getModule().setModuleInlineAsm(S + '\n' + AsmString.str());
     break;

Modified: cfe/trunk/test/CodeGen/asm.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/asm.c?rev=135862&r1=135861&r2=135862&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/asm.c (original)
+++ cfe/trunk/test/CodeGen/asm.c Sat Jul 23 15:04:25 2011
@@ -1,4 +1,13 @@
 // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck %s
+
+// PR10415
+__asm__ ("foo1");
+__asm__ ("foo2");
+__asm__ ("foo3");
+// CHECK: module asm "foo1"
+// CHECK-NEXT: module asm "foo2"
+// CHECK-NEXT: module asm "foo3"
+
 void t1(int len) {
   __asm__ volatile("" : "=&r"(len), "+&r"(len));
 }





More information about the cfe-commits mailing list