aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/CFLAliasAnalysis/asm-global-bugfix.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/CFLAliasAnalysis/asm-global-bugfix.ll')
-rw-r--r--test/Analysis/CFLAliasAnalysis/asm-global-bugfix.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Analysis/CFLAliasAnalysis/asm-global-bugfix.ll b/test/Analysis/CFLAliasAnalysis/asm-global-bugfix.ll
new file mode 100644
index 0000000..d8ee94b
--- /dev/null
+++ b/test/Analysis/CFLAliasAnalysis/asm-global-bugfix.ll
@@ -0,0 +1,16 @@
+; Test case for a bug where we would crash when we were requested to report
+; whether two values that didn't belong to a function (i.e. two globals, etc)
+; aliased.
+
+; RUN: opt < %s -cfl-aa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
+
+@G = private unnamed_addr constant [1 x i8] c"\00", align 1
+
+; CHECK: Function: test_no_crash
+; CHECK: 1 no alias responses
+define void @test_no_crash() #0 {
+entry:
+ call i8* asm "nop", "=r,r"(
+ i8* getelementptr inbounds ([1 x i8]* @G, i64 0, i64 0))
+ ret void
+}