This revision was automatically updated to reflect the committed changes. Closed by commit rGcfc002714a20: [AVR] Support aliases in non-zero address space (authored by aykevl).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76182/new/ https://reviews.llvm.org/D76182 Files: clang/lib/CodeGen/CodeGenModule.cpp clang/test/CodeGen/alias-avr.c Index: clang/test/CodeGen/alias-avr.c =================================================================== --- /dev/null +++ clang/test/CodeGen/alias-avr.c @@ -0,0 +1,8 @@ +// RUN: %clang_cc1 -triple avr-unknown-unknown -emit-llvm -o - %s | FileCheck %s + +int mul(int a, int b) { + return a * b; +} + +// CHECK: @multiply = alias i16 (i16, i16), i16 (i16, i16) addrspace(1)* @mul +int multiply(int x, int y) __attribute__((alias("mul"))); Index: clang/lib/CodeGen/CodeGenModule.cpp =================================================================== --- clang/lib/CodeGen/CodeGenModule.cpp +++ clang/lib/CodeGen/CodeGenModule.cpp @@ -4536,8 +4536,9 @@ } // Create the new alias itself, but don't set a name yet. + unsigned AS = Aliasee->getType()->getPointerAddressSpace(); auto *GA = - llvm::GlobalAlias::create(DeclTy, 0, LT, "", Aliasee, &getModule()); + llvm::GlobalAlias::create(DeclTy, AS, LT, "", Aliasee, &getModule()); if (Entry) { if (GA->getAliasee() == Entry) {
Index: clang/test/CodeGen/alias-avr.c =================================================================== --- /dev/null +++ clang/test/CodeGen/alias-avr.c @@ -0,0 +1,8 @@ +// RUN: %clang_cc1 -triple avr-unknown-unknown -emit-llvm -o - %s | FileCheck %s + +int mul(int a, int b) { + return a * b; +} + +// CHECK: @multiply = alias i16 (i16, i16), i16 (i16, i16) addrspace(1)* @mul +int multiply(int x, int y) __attribute__((alias("mul"))); Index: clang/lib/CodeGen/CodeGenModule.cpp =================================================================== --- clang/lib/CodeGen/CodeGenModule.cpp +++ clang/lib/CodeGen/CodeGenModule.cpp @@ -4536,8 +4536,9 @@ } // Create the new alias itself, but don't set a name yet. + unsigned AS = Aliasee->getType()->getPointerAddressSpace(); auto *GA = - llvm::GlobalAlias::create(DeclTy, 0, LT, "", Aliasee, &getModule()); + llvm::GlobalAlias::create(DeclTy, AS, LT, "", Aliasee, &getModule()); if (Entry) { if (GA->getAliasee() == Entry) {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits