]> granicus.if.org Git - clang/commitdiff
clang/test/CodeGen/ms_this.cpp: Fix for -Asserts.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Tue, 15 Dec 2015 22:42:28 +0000 (22:42 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Tue, 15 Dec 2015 22:42:28 +0000 (22:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255690 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ms_this.cpp

index f169c72d9b896e2b90f73a390dd7e3432e67a38e..8647a5bc8b8b0493ca452b897ac1d587b2584490 100644 (file)
@@ -13,23 +13,27 @@ public:
   void runc();
 };
 
+// CHECK: define void @"\01?runc@t2@@
 void t2::runc() {
   double num = 0;
   __asm {
       mov rax,[this]
-      //CHECK: %this.addr = alloca %class.t2*
-      //CHECK: call void asm sideeffect inteldialect "mov rax,qword ptr $1{{.*}}%class.t2* %this1
+      // CHECK: [[THIS_ADDR_T2:%.+]] = alloca %class.t2*
+      // CHECK: [[THIS1_T2:%.+]] = load %class.t2*, %class.t2** [[THIS_ADDR_T2]],
+      // CHECK: call void asm sideeffect inteldialect "mov rax,qword ptr $1{{.*}}%class.t2* [[THIS1_T2]]
       mov rbx,[rax]
       mov num, rbx
           };
 }
 
+// CHECK: define void @"\01?runc@t1@@
 void t1::runc() {
   double num = 0;
   __asm {
        mov rax,[this]
-      //CHECK: %this.addr = alloca %class.t1*
-      //CHECK: call void asm sideeffect inteldialect "mov rax,qword ptr $1{{.*}}%class.t1* %this1
+       // CHECK: [[THIS_ADDR_T1:%.+]] = alloca %class.t1*
+       // CHECK: [[THIS1_T1:%.+]] = load %class.t1*, %class.t1** [[THIS_ADDR_T1]],
+       // CHECK: call void asm sideeffect inteldialect "mov rax,qword ptr $1{{.*}}%class.t1* [[THIS1_T1]]
         mov rbx,[rax]
         mov num, rbx
           };
@@ -37,10 +41,12 @@ void t1::runc() {
 
 struct s {
   int a;
+  // CHECK: define linkonce_odr void @"\01?func@s@@
   void func() {
     __asm mov rax, [this]
-    //CHECK: %this.addr = alloca %struct.s*
-    //CHECK: call void asm sideeffect inteldialect "mov rax, qword ptr $0{{.*}}%struct.s* %this1
+    // CHECK: [[THIS_ADDR_S:%.+]] = alloca %struct.s*
+    // CHECK: [[THIS1_S:%.+]] = load %struct.s*, %struct.s** [[THIS_ADDR_S]],
+    // CHECK: call void asm sideeffect inteldialect "mov rax, qword ptr $0{{.*}}%struct.s* [[THIS1_S]]
   }
 } f3;