Use the target address space value when mangling names.

llvm-svn: 174688
This commit is contained in:
Tanya Lattner 2013-02-08 01:07:32 +00:00
parent 91814e3465
commit 60e93a6390
3 changed files with 10 additions and 1 deletions

View File

@ -1668,7 +1668,8 @@ void CXXNameMangler::mangleQualifiers(Qualifiers Quals) {
// where <address-space-number> is a source name consisting of 'AS'
// followed by the address space <number>.
SmallString<64> ASString;
ASString = "AS" + llvm::utostr_32(Quals.getAddressSpace());
ASString = "AS" + llvm::utostr_32(
Context.getASTContext().getTargetAddressSpace(Quals.getAddressSpace()));
Out << 'U' << ASString.size() << ASString;
}

View File

@ -872,3 +872,6 @@ namespace test37 {
func(foo().d);
}
}
// CHECK: define void @_Z6ASfuncPU3AS3i
void ASfunc(__attribute__((address_space(3))) int* x) {}

View File

@ -5,3 +5,8 @@ __kernel void foo(void) {
__local int i;
++i;
}
// CHECK: define void @_Z3barPU3AS2i
__kernel void __attribute__((__overloadable__)) bar(local int *x) {
*x = 5;
}