[llvm] [TargetLowering] Fix the problem of emulated-TLS implementation witho… (PR #101490)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 1 07:28:07 PDT 2024


================
@@ -0,0 +1,20 @@
+; RUN: llc < %s -emulated-tls -mtriple=aarch64-linux-ohos -O0 \
+; RUN:     | FileCheck -check-prefix=EMUTLS_CHECK %s
+ 
+%struct.__res_state = type { [5 x i8] }
+ 
+ at foo = dso_local thread_local global %struct.__res_state { [5 x i8] c"\01\02\03\04\05" }, align 1
+ 
+ at bar = hidden thread_local(initialexec) alias %struct.__res_state, ptr @foo
+ 
+; Function Attrs: noinline nounwind optnone uwtable
+define dso_local i32 @main() #0 {
+  %1 = alloca i32, align 4
+  store i32 0, ptr %1, align 4
+  store i8 0, ptr @bar, align 1
+  ; EMUTLS_CHECK: adrp    x0, __emutls_v.foo
+  ; EMUTLS_CHECK-NEXT: add     x0, x0, :lo12:__emutls_v.foo
+  ret i32 0
+}
+ 
+attributes #0 = { noinline nounwind optnone uwtable "frame-pointer"="non-leaf" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon,+v8a" }
----------------
arsenm wrote:

Don't need all these attributes 

https://github.com/llvm/llvm-project/pull/101490


More information about the llvm-commits mailing list