Skip to content

Commit 334d643

Browse files
committed
address more reviews
1 parent e4346f6 commit 334d643

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2470,13 +2470,16 @@ void AliasOp::print(OpAsmPrinter &p) {
24702470
StringRef visibility = stringifyVisibility(getVisibility_());
24712471
if (!visibility.empty())
24722472
p << visibility << ' ';
2473-
if (getThreadLocal_())
2474-
p << "thread_local ";
2473+
24752474
if (std::optional<mlir::LLVM::UnnamedAddr> unnamedAddr = getUnnamedAddr()) {
24762475
StringRef str = stringifyUnnamedAddr(*unnamedAddr);
24772476
if (!str.empty())
24782477
p << str << ' ';
24792478
}
2479+
2480+
if (getThreadLocal_())
2481+
p << "thread_local ";
2482+
24802483
p.printSymbolName(getSymName());
24812484
p.printOptionalAttrDict((*this)->getAttrs(),
24822485
{SymbolTable::getSymbolAttrName(),
@@ -2555,7 +2558,7 @@ LogicalResult AliasOp::verify() {
25552558

25562559
LogicalResult AliasOp::verifyRegions() {
25572560
Block &b = getInitializerBlock();
2558-
ReturnOp ret = cast<ReturnOp>(b.getTerminator());
2561+
auto ret = cast<ReturnOp>(b.getTerminator());
25592562
if (ret.getNumOperands() == 0 ||
25602563
!isa<LLVM::LLVMPointerType>(ret.getOperand(0).getType()))
25612564
return emitOpError("initializer region must always return a pointer");

mlir/lib/Target/LLVMIR/ModuleImport.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -987,9 +987,8 @@ LogicalResult ModuleImport::convertAlias(llvm::GlobalAlias *alias) {
987987
return failure();
988988
builder.create<ReturnOp>(aliasOp.getLoc(), *initializer);
989989

990-
if (alias->hasAtLeastLocalUnnamedAddr()) {
990+
if (alias->hasAtLeastLocalUnnamedAddr())
991991
aliasOp.setUnnamedAddr(convertUnnamedAddrFromLLVM(alias->getUnnamedAddr()));
992-
}
993992
aliasOp.setVisibility_(convertVisibilityFromLLVM(alias->getVisibility()));
994993

995994
return success();

mlir/test/Dialect/LLVMIR/alias.mlir

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: mlir-opt %s -split-input-file | FileCheck %s
1+
// RUN: mlir-opt %s -split-input-file --verify-roundtrip | FileCheck %s
22

33
llvm.func internal @callee() -> !llvm.ptr attributes {dso_local} {
44
%0 = llvm.mlir.zero : !llvm.ptr
@@ -125,3 +125,17 @@ llvm.mlir.global internal constant @g3() {addr_space = 0 : i32, dso_local} : !ll
125125
// CHECK: %[[ADDR:.*]] = llvm.mlir.addressof @a2 : !llvm.ptr
126126
// CHECK: llvm.return %[[ADDR]] : !llvm.ptr
127127
// CHECK: }
128+
129+
// -----
130+
131+
llvm.mlir.global private @g30(0 : i32) {dso_local} : i32
132+
133+
llvm.mlir.alias private unnamed_addr thread_local @a30 {dso_local} : i32 {
134+
%0 = llvm.mlir.addressof @g30 : !llvm.ptr
135+
llvm.return %0 : !llvm.ptr
136+
}
137+
138+
// CHECK: llvm.mlir.alias private unnamed_addr thread_local @a30 {dso_local} : i32 {
139+
// CHECK: %0 = llvm.mlir.addressof @g30 : !llvm.ptr
140+
// CHECK: llvm.return %0 : !llvm.ptr
141+
// CHECK: }

0 commit comments

Comments
 (0)