diff options
author | Reid Kleckner <rnk@google.com> | 2016-11-28 20:52:19 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-11-28 20:52:19 +0000 |
commit | 08ebbcebb984b115ad1feb5984306f46cacdc616 (patch) | |
tree | 4235190f7af45df3e553586de92c6b0ab6f2d62b /clang/test/CodeGen/ms-inline-asm.cpp | |
parent | 115efcd3d12e3617d0a2ee02499b379c67c2c5cb (diff) | |
download | llvm-08ebbcebb984b115ad1feb5984306f46cacdc616.zip llvm-08ebbcebb984b115ad1feb5984306f46cacdc616.tar.gz llvm-08ebbcebb984b115ad1feb5984306f46cacdc616.tar.bz2 |
[MS] Mangle a unique ID into all MS inline asm labels
This solves PR23715 in a way that is compatible with LTO.
MSVC supports jumping to source-level labels and between inline asm
blocks, but we don't.
Also revert the old solution, r255201, which was to mark these calls as
noduplicate.
llvm-svn: 288059
Diffstat (limited to 'clang/test/CodeGen/ms-inline-asm.cpp')
-rw-r--r-- | clang/test/CodeGen/ms-inline-asm.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/CodeGen/ms-inline-asm.cpp b/clang/test/CodeGen/ms-inline-asm.cpp index 123a0e3..584122f 100644 --- a/clang/test/CodeGen/ms-inline-asm.cpp +++ b/clang/test/CodeGen/ms-inline-asm.cpp @@ -126,14 +126,14 @@ void t7_using() { void t8() { __asm some_label: // CHECK-LABEL: define void @_Z2t8v() - // CHECK: call void asm sideeffect inteldialect "L__MSASMLABEL_.1__some_label:", "~{dirflag},~{fpsr},~{flags}"() + // CHECK: call void asm sideeffect inteldialect "L__MSASMLABEL_.{:uid}__some_label:", "~{dirflag},~{fpsr},~{flags}"() struct A { static void g() { __asm jmp some_label ; This should jump forwards __asm some_label: __asm nop // CHECK-LABEL: define internal void @_ZZ2t8vEN1A1gEv() - // CHECK: call void asm sideeffect inteldialect "jmp L__MSASMLABEL_.2__some_label\0A\09L__MSASMLABEL_.2__some_label:\0A\09nop", "~{dirflag},~{fpsr},~{flags}"() + // CHECK: call void asm sideeffect inteldialect "jmp L__MSASMLABEL_.{:uid}__some_label\0A\09L__MSASMLABEL_.{:uid}__some_label:\0A\09nop", "~{dirflag},~{fpsr},~{flags}"() } }; A::g(); |