[llvm] [llubi] Global variables with simple initializers and global-address constants (PR #200547)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 07:00:31 PDT 2026


================
@@ -0,0 +1,20 @@
+; RUN: llubi --verbose < %s 2>&1 | FileCheck %s
+
+target datalayout = "e-p:64:64:64-i32:32:32"
+
+ at external = external global i32
+ at external_ptr = global ptr @external
+
+define void @main() {
+  %ptr = load ptr, ptr @external_ptr
+  store i32 42, ptr @external
+  %loaded = load i32, ptr @external
+  ret void
+}
+
+; CHECK: Entering function: main
+; CHECK-NEXT:   %ptr = load ptr, ptr @external_ptr, align 8 => ptr 0x8 [@external]
+; CHECK-NEXT:   store i32 42, ptr @external, align 4
----------------
nikic wrote:

Should also test a read from `@external` before writing to it.

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


More information about the llvm-commits mailing list