Skip to content

Commit 7c91f18

Browse files
committed
[NVPTX] improve identifier renaming for PTX
1 parent 1f8c3c3 commit 7c91f18

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
//===----------------------------------------------------------------------===//
1818

1919
#include "NVPTX.h"
20+
#include "llvm/ADT/StringExtras.h"
2021
#include "llvm/IR/Function.h"
2122
#include "llvm/IR/GlobalVariable.h"
2223
#include "llvm/IR/LegacyPassManager.h"
@@ -73,10 +74,10 @@ std::string NVPTXAssignValidGlobalNames::cleanUpName(StringRef Name) {
7374
std::string ValidName;
7475
raw_string_ostream ValidNameStream(ValidName);
7576
for (char C : Name) {
76-
if (C == '.' || C == '@' || C == '<' || C == '>') {
77-
ValidNameStream << "_$_";
78-
} else {
77+
if (isAlnum(C) || C == '_' || C == '$') {
7978
ValidNameStream << C;
79+
} else {
80+
ValidNameStream << "_$_";
8081
}
8182
}
8283

llvm/test/CodeGen/NVPTX/symbol-naming.ll

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88

99
; CHECK-NOT: .str
1010
; CHECK-NOT: <str>
11+
; CHECK-NOT: another-str
1112
; CHECK-NOT: .function.
1213

1314
; CHECK-DAG: _$_str
1415
; CHECK-DAG: _$_str_$_
1516
; CHECK-DAG: _$_str1
17+
; CHECK-DAG: another_$_str
1618

1719
; CHECK-DAG: _$_function_$_
1820
; CHECK-DAG: _$_function_$_2
@@ -24,6 +26,7 @@ target triple = "nvptx64-unknown-unknown"
2426
@.str = private unnamed_addr constant [13 x i8] c"%d %f %c %d\0A\00", align 1
2527
@"<str>" = private unnamed_addr constant [13 x i8] c"%d %f %c %d\0A\00", align 1
2628
@_$_str = private unnamed_addr constant [13 x i8] c"%d %f %c %d\0A\00", align 1
29+
@another-str = private unnamed_addr constant [13 x i8] c"%d %f %c %d\0A\00", align 1
2730

2831

2932
; Function Attrs: nounwind
@@ -38,7 +41,7 @@ entry:
3841
define internal void @_$_function_$_() {
3942
entry:
4043
%call = call i32 (ptr, ...) @printf(ptr @_$_str)
41-
%call2 = call i32 (ptr, ...) @printf(ptr @"<str>")
44+
%call2 = call i32 (ptr, ...) @printf(ptr @another-str)
4245
ret void
4346
}
4447

0 commit comments

Comments
 (0)