1; RUN: opt < %s -asan -asan-module -enable-new-pm=0 -S | FileCheck %s
2; RUN: opt < %s -passes='asan-pipeline' -S | FileCheck %s
3
4; Generated like so:
5; $ clang -S -emit-llvm -Xclang -disable-llvm-passes -fsanitize=address -O1 t.cpp -o t.ll
6; const char *getstr() { return "asdf"; }
7
8; CHECK: $"??_C@_04JIHMPGLA@asdf?$AA@" = comdat any
9
10; CHECK: @"??_C@_04JIHMPGLA@asdf?$AA@" =
11; CHECK-SAME: linkonce_odr dso_local constant { [5 x i8], [59 x i8] }
12; CHECK-SAME: { [5 x i8] c"asdf\00", [59 x i8] zeroinitializer }, comdat, align 32
13
14; CHECK: @"__asan_global_??_C@_04JIHMPGLA@asdf?$AA@" =
15; CHECK-SAME: private global { i64, i64, i64, i64, i64, i64, i64, i64 }
16; CHECK-SAME: { i64 ptrtoint ({ [5 x i8], [59 x i8] }* @"??_C@_04JIHMPGLA@asdf?$AA@" to i64),
17; CHECK-SAME:   i64 5, i64 64, i64 ptrtoint ([17 x i8]* @___asan_gen_.1 to i64),
18; CHECK-SAME:   i64 ptrtoint ([8 x i8]* @___asan_gen_ to i64), i64 0,
19; CHECK-SAME:   i64 ptrtoint ({ [6 x i8]*, i32, i32 }* @___asan_gen_.3 to i64), i64 0 },
20; CHECK-SAME:   section ".ASAN$GL", comdat($"??_C@_04JIHMPGLA@asdf?$AA@"), align 64
21
22; ModuleID = 't.cpp'
23source_filename = "t.cpp"
24target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
25target triple = "x86_64-pc-windows-msvc19.13.26131"
26
27$"??_C@_04JIHMPGLA@asdf?$AA@" = comdat any
28
29@"??_C@_04JIHMPGLA@asdf?$AA@" = linkonce_odr dso_local unnamed_addr constant [5 x i8] c"asdf\00", comdat, align 1
30
31; Function Attrs: nounwind sanitize_address uwtable
32define dso_local i8* @"?getstr@@YAPEBDXZ"() #0 {
33entry:
34  ret i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"??_C@_04JIHMPGLA@asdf?$AA@", i32 0, i32 0)
35}
36
37attributes #0 = { nounwind sanitize_address uwtable }
38
39!llvm.asan.globals = !{!0}
40!llvm.module.flags = !{!2, !3}
41!llvm.ident = !{!4}
42
43!0 = !{[5 x i8]* @"??_C@_04JIHMPGLA@asdf?$AA@", !1, !"<string literal>", i1 false, i1 false}
44!1 = !{!"t.cpp", i32 1, i32 31}
45!2 = !{i32 1, !"wchar_size", i32 2}
46!3 = !{i32 7, !"PIC Level", i32 2}
47!4 = !{!"clang version 7.0.0 "}
48