diff options
| -rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 4 | ||||
| -rw-r--r-- | clang/test/CodeGen/named_reg_global.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 4822769f392..2025f39355e 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -1780,7 +1780,9 @@ static LValue EmitGlobalNamedRegister(const VarDecl *VD, CharUnits Alignment) { AsmLabelAttr *Asm = VD->getAttr<AsmLabelAttr>(); llvm::Twine Name("llvm.named.register."+Asm->getLabel()); - llvm::NamedMDNode *M = CGM.getModule().getOrInsertNamedMetadata(Name.str()); + SmallString<256> DummyVec; + llvm::NamedMDNode *M = + CGM.getModule().getOrInsertNamedMetadata(Name.toStringRef(DummyVec)); if (M->getNumOperands() == 0) { llvm::MDString *Str = llvm::MDString::get(CGM.getLLVMContext(), Asm->getLabel()); diff --git a/clang/test/CodeGen/named_reg_global.c b/clang/test/CodeGen/named_reg_global.c index 0a4646f7bdb..38b1828fc5e 100644 --- a/clang/test/CodeGen/named_reg_global.c +++ b/clang/test/CodeGen/named_reg_global.c @@ -13,8 +13,8 @@ unsigned long get_stack_pointer_addr() { } // CHECK: declare{{.*}} i[[bits]] @llvm.read_register.i[[bits]](metadata) -// CHECK: define{{.*}} void @set_stack_pointer_addr(i[[bits]] %addr) #0 { -// CHECK: [[sto:%[0-9]+]] = load i[[bits]]* %addr +// CHECK: define{{.*}} void @set_stack_pointer_addr(i[[bits]] %[[addr:[0-9a-z]+]]) #0 { +// CHECK: [[sto:%[0-9]+]] = load i[[bits]]* %[[addr]] // CHECK: call void @llvm.write_register.i[[bits]](metadata !0, i[[bits]] [[sto]]) // CHECK: ret void void set_stack_pointer_addr(unsigned long addr) { |

