[Orc] Teach the CompileOnDemand layer to clone aliases.
[oota-llvm.git] / test / ExecutionEngine / OrcLazy / global_aliases.ll
diff --git a/test/ExecutionEngine/OrcLazy/global_aliases.ll b/test/ExecutionEngine/OrcLazy/global_aliases.ll
new file mode 100644 (file)
index 0000000..61fde4b
--- /dev/null
@@ -0,0 +1,21 @@
+; RUN: lli -jit-kind=orc-lazy %s
+;
+; Test handling of global aliases for function and variables.
+
+@x = global i32 42, align 4
+@y = alias i32, i32* @x
+
+define i32 @foo() {
+entry:
+  %0 = load i32, i32* @y, align 4
+  ret i32 %0
+}
+
+@bar = alias i32(), i32()* @foo
+
+define i32 @main(i32 %argc, i8** %argv) {
+entry:
+  %0 = call i32() @bar()
+  %1 = sub i32 %0, 42
+  ret i32 %1
+}