Re: r288093 - Use ${:uid} to generate unique MS asm labels, not {:uid}
Thanks. 2016-12-06 16:28 GMT-08:00 Reid Kleckner: > Comments in r288868. It implements GCC's %= inline asm feature, and we're > just using it from MS-style inline asm to avoid duplicate labels clashing. > > 2016-12-01 0:37 GMT-08:00 Sean Silva : > >> what is this ${:uid} thing? Could the comment >> in Sema::GetOrCreateMSAsmLabel explain it? >> >> -- Sean Silva >> >> On Mon, Nov 28, 2016 at 4:39 PM, Reid Kleckner via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: rnk >>> Date: Mon Nov 28 18:39:37 2016 >>> New Revision: 288093 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=288093=rev >>> Log: >>> Use ${:uid} to generate unique MS asm labels, not {:uid} >>> >>> Modified: >>> cfe/trunk/lib/Sema/SemaStmtAsm.cpp >>> cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c >>> cfe/trunk/test/CodeGen/ms-inline-asm.c >>> cfe/trunk/test/CodeGen/ms-inline-asm.cpp >>> >>> Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp >>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaS >>> tmtAsm.cpp?rev=288093=288092=288093=diff >>> >>> == >>> --- cfe/trunk/lib/Sema/SemaStmtAsm.cpp (original) >>> +++ cfe/trunk/lib/Sema/SemaStmtAsm.cpp Mon Nov 28 18:39:37 2016 >>> @@ -753,7 +753,7 @@ LabelDecl *Sema::GetOrCreateMSAsmLabel(S >>> // Create an internal name for the label. The name should not be a >>> valid mangled >>> // name, and should be unique. We use a dot to make the name an >>> invalid mangled >>> // name. >>> -OS << "__MSASMLABEL_.{:uid}__"; >>> +OS << "__MSASMLABEL_.${:uid}__"; >>> for (char C : ExternalLabelName) { >>>OS << C; >>>// We escape '$' in asm strings by replacing it with "$$" >>> >>> Modified: cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c >>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/m >>> ozilla-ms-inline-asm.c?rev=288093=288092=288093=diff >>> >>> == >>> --- cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c (original) >>> +++ cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c Mon Nov 28 18:39:37 >>> 2016 >>> @@ -20,7 +20,7 @@ void invoke(void* that, unsigned methodI >>> // CHECK: call void asm sideeffect inteldialect >>> // CHECK: mov edx,dword ptr $1 >>> // CHECK: test edx,edx >>> -// CHECK: jz {{[^_]*}}__MSASMLABEL_.{:uid}__noparams >>> +// CHECK: jz {{[^_]*}}__MSASMLABEL_.${:uid}__noparams >>> // ^ Can't use {{.*}} here because the matching is greedy. >>> // CHECK: mov eax,edx >>> // CHECK: shl eax,$$3 >>> @@ -28,7 +28,7 @@ void invoke(void* that, unsigned methodI >>> // CHECK: mov ecx,esp >>> // CHECK: push dword ptr $0 >>> // CHECK: call dword ptr $2 >>> -// CHECK: {{.*}}__MSASMLABEL_.{:uid}__noparams: >>> +// CHECK: {{.*}}__MSASMLABEL_.${:uid}__noparams: >>> // CHECK: mov ecx,dword ptr $3 >>> // CHECK: push ecx >>> // CHECK: mov edx,[ecx] >>> >>> Modified: cfe/trunk/test/CodeGen/ms-inline-asm.c >>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/m >>> s-inline-asm.c?rev=288093=288092=288093=diff >>> >>> == >>> --- cfe/trunk/test/CodeGen/ms-inline-asm.c (original) >>> +++ cfe/trunk/test/CodeGen/ms-inline-asm.c Mon Nov 28 18:39:37 2016 >>> @@ -249,7 +249,7 @@ void t23() { >>>the_label: >>>} >>> // CHECK: t23 >>> -// CHECK: call void asm sideeffect inteldialect >>> "{{.*}}__MSASMLABEL_.{:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"( >>> ) >>> +// CHECK: call void asm sideeffect inteldialect >>> "{{.*}}__MSASMLABEL_.${:uid}__the_label:", >>> "~{dirflag},~{fpsr},~{flags}"() >>> } >>> >>> void t24_helper(void) {} >>> @@ -595,7 +595,7 @@ void label1() { >>> jmp label >>>} >>>// CHECK-LABEL: define void @label1() >>> - // CHECK: call void asm sideeffect inteldialect >>> "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09jmp >>> {{.*}}__MSASMLABEL_.{:uid}__label", "~{dirflag},~{fpsr},~{flags}"() >>> [[ATTR1:#[0-9]+]] >>> + // CHECK: call void asm sideeffect inteldialect >>> "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09jmp >>> {{.*}}__MSASMLABEL_.${:uid}__label", "~{dirflag},~{fpsr},~{flags}"() >>> [[ATTR1:#[0-9]+]] >>> } >>> >>> void label2() { >>> @@ -604,7 +604,7 @@ void label2() { >>> label: >>>} >>>// CHECK-LABEL: define void @label2 >>> - // CHECK: call void asm sideeffect inteldialect "jmp >>> {{.*}}__MSASMLABEL_.{:uid}__label\0A\09{{.*}}__MSASMLABEL_.{:uid}__label:", >>> "~{dirflag},~{fpsr},~{flags}"() >>> + // CHECK: call void asm sideeffect inteldialect "jmp >>> {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:", >>> "~{dirflag},~{fpsr},~{flags}"() >>> } >>> >>> void label3() { >>> @@ -613,7 +613,7 @@ void label3() { >>> mov eax, label >>>} >>>// CHECK-LABEL: define void @label3 >>> - // CHECK: call void asm
Re: r288093 - Use ${:uid} to generate unique MS asm labels, not {:uid}
Comments in r288868. It implements GCC's %= inline asm feature, and we're just using it from MS-style inline asm to avoid duplicate labels clashing. 2016-12-01 0:37 GMT-08:00 Sean Silva: > what is this ${:uid} thing? Could the comment > in Sema::GetOrCreateMSAsmLabel explain it? > > -- Sean Silva > > On Mon, Nov 28, 2016 at 4:39 PM, Reid Kleckner via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rnk >> Date: Mon Nov 28 18:39:37 2016 >> New Revision: 288093 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=288093=rev >> Log: >> Use ${:uid} to generate unique MS asm labels, not {:uid} >> >> Modified: >> cfe/trunk/lib/Sema/SemaStmtAsm.cpp >> cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c >> cfe/trunk/test/CodeGen/ms-inline-asm.c >> cfe/trunk/test/CodeGen/ms-inline-asm.cpp >> >> Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp >> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaS >> tmtAsm.cpp?rev=288093=288092=288093=diff >> >> == >> --- cfe/trunk/lib/Sema/SemaStmtAsm.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaStmtAsm.cpp Mon Nov 28 18:39:37 2016 >> @@ -753,7 +753,7 @@ LabelDecl *Sema::GetOrCreateMSAsmLabel(S >> // Create an internal name for the label. The name should not be a >> valid mangled >> // name, and should be unique. We use a dot to make the name an >> invalid mangled >> // name. >> -OS << "__MSASMLABEL_.{:uid}__"; >> +OS << "__MSASMLABEL_.${:uid}__"; >> for (char C : ExternalLabelName) { >>OS << C; >>// We escape '$' in asm strings by replacing it with "$$" >> >> Modified: cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c >> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ >> mozilla-ms-inline-asm.c?rev=288093=288092=288093=diff >> >> == >> --- cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c (original) >> +++ cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c Mon Nov 28 18:39:37 >> 2016 >> @@ -20,7 +20,7 @@ void invoke(void* that, unsigned methodI >> // CHECK: call void asm sideeffect inteldialect >> // CHECK: mov edx,dword ptr $1 >> // CHECK: test edx,edx >> -// CHECK: jz {{[^_]*}}__MSASMLABEL_.{:uid}__noparams >> +// CHECK: jz {{[^_]*}}__MSASMLABEL_.${:uid}__noparams >> // ^ Can't use {{.*}} here because the matching is greedy. >> // CHECK: mov eax,edx >> // CHECK: shl eax,$$3 >> @@ -28,7 +28,7 @@ void invoke(void* that, unsigned methodI >> // CHECK: mov ecx,esp >> // CHECK: push dword ptr $0 >> // CHECK: call dword ptr $2 >> -// CHECK: {{.*}}__MSASMLABEL_.{:uid}__noparams: >> +// CHECK: {{.*}}__MSASMLABEL_.${:uid}__noparams: >> // CHECK: mov ecx,dword ptr $3 >> // CHECK: push ecx >> // CHECK: mov edx,[ecx] >> >> Modified: cfe/trunk/test/CodeGen/ms-inline-asm.c >> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ >> ms-inline-asm.c?rev=288093=288092=288093=diff >> >> == >> --- cfe/trunk/test/CodeGen/ms-inline-asm.c (original) >> +++ cfe/trunk/test/CodeGen/ms-inline-asm.c Mon Nov 28 18:39:37 2016 >> @@ -249,7 +249,7 @@ void t23() { >>the_label: >>} >> // CHECK: t23 >> -// CHECK: call void asm sideeffect inteldialect >> "{{.*}}__MSASMLABEL_.{:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"() >> +// CHECK: call void asm sideeffect inteldialect >> "{{.*}}__MSASMLABEL_.${:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"( >> ) >> } >> >> void t24_helper(void) {} >> @@ -595,7 +595,7 @@ void label1() { >> jmp label >>} >>// CHECK-LABEL: define void @label1() >> - // CHECK: call void asm sideeffect inteldialect >> "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09jmp >> {{.*}}__MSASMLABEL_.{:uid}__label", "~{dirflag},~{fpsr},~{flags}"() >> [[ATTR1:#[0-9]+]] >> + // CHECK: call void asm sideeffect inteldialect >> "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09jmp >> {{.*}}__MSASMLABEL_.${:uid}__label", "~{dirflag},~{fpsr},~{flags}"() >> [[ATTR1:#[0-9]+]] >> } >> >> void label2() { >> @@ -604,7 +604,7 @@ void label2() { >> label: >>} >>// CHECK-LABEL: define void @label2 >> - // CHECK: call void asm sideeffect inteldialect "jmp >> {{.*}}__MSASMLABEL_.{:uid}__label\0A\09{{.*}}__MSASMLABEL_.{:uid}__label:", >> "~{dirflag},~{fpsr},~{flags}"() >> + // CHECK: call void asm sideeffect inteldialect "jmp >> {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:", >> "~{dirflag},~{fpsr},~{flags}"() >> } >> >> void label3() { >> @@ -613,7 +613,7 @@ void label3() { >> mov eax, label >>} >>// CHECK-LABEL: define void @label3 >> - // CHECK: call void asm sideeffect inteldialect >> "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09mov eax, >> {{.*}}__MSASMLABEL_.{:uid}__label", "~{eax},~{dirflag},~{fpsr},~{f >> lags}"() >> + // CHECK: call void asm sideeffect
Re: r288093 - Use ${:uid} to generate unique MS asm labels, not {:uid}
what is this ${:uid} thing? Could the comment in Sema::GetOrCreateMSAsmLabel explain it? -- Sean Silva On Mon, Nov 28, 2016 at 4:39 PM, Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rnk > Date: Mon Nov 28 18:39:37 2016 > New Revision: 288093 > > URL: http://llvm.org/viewvc/llvm-project?rev=288093=rev > Log: > Use ${:uid} to generate unique MS asm labels, not {:uid} > > Modified: > cfe/trunk/lib/Sema/SemaStmtAsm.cpp > cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c > cfe/trunk/test/CodeGen/ms-inline-asm.c > cfe/trunk/test/CodeGen/ms-inline-asm.cpp > > Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/ > SemaStmtAsm.cpp?rev=288093=288092=288093=diff > > == > --- cfe/trunk/lib/Sema/SemaStmtAsm.cpp (original) > +++ cfe/trunk/lib/Sema/SemaStmtAsm.cpp Mon Nov 28 18:39:37 2016 > @@ -753,7 +753,7 @@ LabelDecl *Sema::GetOrCreateMSAsmLabel(S > // Create an internal name for the label. The name should not be a > valid mangled > // name, and should be unique. We use a dot to make the name an > invalid mangled > // name. > -OS << "__MSASMLABEL_.{:uid}__"; > +OS << "__MSASMLABEL_.${:uid}__"; > for (char C : ExternalLabelName) { >OS << C; >// We escape '$' in asm strings by replacing it with "$$" > > Modified: cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ > CodeGen/mozilla-ms-inline-asm.c?rev=288093=288092=288093=diff > > == > --- cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c (original) > +++ cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c Mon Nov 28 18:39:37 > 2016 > @@ -20,7 +20,7 @@ void invoke(void* that, unsigned methodI > // CHECK: call void asm sideeffect inteldialect > // CHECK: mov edx,dword ptr $1 > // CHECK: test edx,edx > -// CHECK: jz {{[^_]*}}__MSASMLABEL_.{:uid}__noparams > +// CHECK: jz {{[^_]*}}__MSASMLABEL_.${:uid}__noparams > // ^ Can't use {{.*}} here because the matching is greedy. > // CHECK: mov eax,edx > // CHECK: shl eax,$$3 > @@ -28,7 +28,7 @@ void invoke(void* that, unsigned methodI > // CHECK: mov ecx,esp > // CHECK: push dword ptr $0 > // CHECK: call dword ptr $2 > -// CHECK: {{.*}}__MSASMLABEL_.{:uid}__noparams: > +// CHECK: {{.*}}__MSASMLABEL_.${:uid}__noparams: > // CHECK: mov ecx,dword ptr $3 > // CHECK: push ecx > // CHECK: mov edx,[ecx] > > Modified: cfe/trunk/test/CodeGen/ms-inline-asm.c > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ > CodeGen/ms-inline-asm.c?rev=288093=288092=288093=diff > > == > --- cfe/trunk/test/CodeGen/ms-inline-asm.c (original) > +++ cfe/trunk/test/CodeGen/ms-inline-asm.c Mon Nov 28 18:39:37 2016 > @@ -249,7 +249,7 @@ void t23() { >the_label: >} > // CHECK: t23 > -// CHECK: call void asm sideeffect inteldialect > "{{.*}}__MSASMLABEL_.{:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"() > +// CHECK: call void asm sideeffect inteldialect > "{{.*}}__MSASMLABEL_.${:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"() > } > > void t24_helper(void) {} > @@ -595,7 +595,7 @@ void label1() { > jmp label >} >// CHECK-LABEL: define void @label1() > - // CHECK: call void asm sideeffect inteldialect > "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09jmp > {{.*}}__MSASMLABEL_.{:uid}__label", > "~{dirflag},~{fpsr},~{flags}"() [[ATTR1:#[0-9]+]] > + // CHECK: call void asm sideeffect inteldialect > "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09jmp > {{.*}}__MSASMLABEL_.${:uid}__label", "~{dirflag},~{fpsr},~{flags}"() > [[ATTR1:#[0-9]+]] > } > > void label2() { > @@ -604,7 +604,7 @@ void label2() { > label: >} >// CHECK-LABEL: define void @label2 > - // CHECK: call void asm sideeffect inteldialect "jmp > {{.*}}__MSASMLABEL_.{:uid}__label\0A\09{{.*}}__MSASMLABEL_.{:uid}__label:", > "~{dirflag},~{fpsr},~{flags}"() > + // CHECK: call void asm sideeffect inteldialect "jmp > {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:", > "~{dirflag},~{fpsr},~{flags}"() > } > > void label3() { > @@ -613,7 +613,7 @@ void label3() { > mov eax, label >} >// CHECK-LABEL: define void @label3 > - // CHECK: call void asm sideeffect inteldialect > "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09mov eax, > {{.*}}__MSASMLABEL_.{:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"() > + // CHECK: call void asm sideeffect inteldialect > "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09mov eax, > {{.*}}__MSASMLABEL_.${:uid}__label", "~{eax},~{dirflag},~{fpsr},~{ > flags}"() > } > > void label4() { > @@ -622,7 +622,7 @@ void label4() { > mov eax, [label] >} >// CHECK-LABEL: define void @label4 > - // CHECK: call void asm sideeffect inteldialect >
r288093 - Use ${:uid} to generate unique MS asm labels, not {:uid}
Author: rnk Date: Mon Nov 28 18:39:37 2016 New Revision: 288093 URL: http://llvm.org/viewvc/llvm-project?rev=288093=rev Log: Use ${:uid} to generate unique MS asm labels, not {:uid} Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c cfe/trunk/test/CodeGen/ms-inline-asm.c cfe/trunk/test/CodeGen/ms-inline-asm.cpp Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmtAsm.cpp?rev=288093=288092=288093=diff == --- cfe/trunk/lib/Sema/SemaStmtAsm.cpp (original) +++ cfe/trunk/lib/Sema/SemaStmtAsm.cpp Mon Nov 28 18:39:37 2016 @@ -753,7 +753,7 @@ LabelDecl *Sema::GetOrCreateMSAsmLabel(S // Create an internal name for the label. The name should not be a valid mangled // name, and should be unique. We use a dot to make the name an invalid mangled // name. -OS << "__MSASMLABEL_.{:uid}__"; +OS << "__MSASMLABEL_.${:uid}__"; for (char C : ExternalLabelName) { OS << C; // We escape '$' in asm strings by replacing it with "$$" Modified: cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c?rev=288093=288092=288093=diff == --- cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c (original) +++ cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c Mon Nov 28 18:39:37 2016 @@ -20,7 +20,7 @@ void invoke(void* that, unsigned methodI // CHECK: call void asm sideeffect inteldialect // CHECK: mov edx,dword ptr $1 // CHECK: test edx,edx -// CHECK: jz {{[^_]*}}__MSASMLABEL_.{:uid}__noparams +// CHECK: jz {{[^_]*}}__MSASMLABEL_.${:uid}__noparams // ^ Can't use {{.*}} here because the matching is greedy. // CHECK: mov eax,edx // CHECK: shl eax,$$3 @@ -28,7 +28,7 @@ void invoke(void* that, unsigned methodI // CHECK: mov ecx,esp // CHECK: push dword ptr $0 // CHECK: call dword ptr $2 -// CHECK: {{.*}}__MSASMLABEL_.{:uid}__noparams: +// CHECK: {{.*}}__MSASMLABEL_.${:uid}__noparams: // CHECK: mov ecx,dword ptr $3 // CHECK: push ecx // CHECK: mov edx,[ecx] Modified: cfe/trunk/test/CodeGen/ms-inline-asm.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-inline-asm.c?rev=288093=288092=288093=diff == --- cfe/trunk/test/CodeGen/ms-inline-asm.c (original) +++ cfe/trunk/test/CodeGen/ms-inline-asm.c Mon Nov 28 18:39:37 2016 @@ -249,7 +249,7 @@ void t23() { the_label: } // CHECK: t23 -// CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.{:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"() +// CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__the_label:", "~{dirflag},~{fpsr},~{flags}"() } void t24_helper(void) {} @@ -595,7 +595,7 @@ void label1() { jmp label } // CHECK-LABEL: define void @label1() - // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09jmp {{.*}}__MSASMLABEL_.{:uid}__label", "~{dirflag},~{fpsr},~{flags}"() [[ATTR1:#[0-9]+]] + // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09jmp {{.*}}__MSASMLABEL_.${:uid}__label", "~{dirflag},~{fpsr},~{flags}"() [[ATTR1:#[0-9]+]] } void label2() { @@ -604,7 +604,7 @@ void label2() { label: } // CHECK-LABEL: define void @label2 - // CHECK: call void asm sideeffect inteldialect "jmp {{.*}}__MSASMLABEL_.{:uid}__label\0A\09{{.*}}__MSASMLABEL_.{:uid}__label:", "~{dirflag},~{fpsr},~{flags}"() + // CHECK: call void asm sideeffect inteldialect "jmp {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:", "~{dirflag},~{fpsr},~{flags}"() } void label3() { @@ -613,7 +613,7 @@ void label3() { mov eax, label } // CHECK-LABEL: define void @label3 - // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09mov eax, {{.*}}__MSASMLABEL_.{:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"() + // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09mov eax, {{.*}}__MSASMLABEL_.${:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"() } void label4() { @@ -622,7 +622,7 @@ void label4() { mov eax, [label] } // CHECK-LABEL: define void @label4 - // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.{:uid}__label:\0A\09mov eax, {{.*}}__MSASMLABEL_.{:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"() + // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09mov eax, {{.*}}__MSASMLABEL_.${:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"() } void label5() { @@ -631,7 +631,7 @@ void label5() { dollar_label$: } // CHECK-LABEL: define void @label5 - // CHECK: call void