xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/BreakableToken-reduced.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 -enable-shrink-wrap=true %s -o - | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker;
3*9880d681SAndroid Build Coastguard Worker; Test the use of a non-R0 register to save/restore the LR in function
4*9880d681SAndroid Build Coastguard Worker; prologue/epilogue.
5*9880d681SAndroid Build Coastguard Worker; This problem can occur as a result of shrink wrapping, where the function
6*9880d681SAndroid Build Coastguard Worker; prologue and epilogue are moved from the beginning/ending of the function. If
7*9880d681SAndroid Build Coastguard Worker; register R0 is used before the prologue/epilogue blocks, then it cannot be
8*9880d681SAndroid Build Coastguard Worker; used to save/restore the LR.
9*9880d681SAndroid Build Coastguard Worker;
10*9880d681SAndroid Build Coastguard Worker; TODO: Convert this to an MIR test once the infrastructure can support it.
11*9880d681SAndroid Build Coastguard Worker;       To convert this to an MIR pass, generate MIR after register allocation
12*9880d681SAndroid Build Coastguard Worker;       but before shrink wrapping and verify that has been used in the body of
13*9880d681SAndroid Build Coastguard Worker;       the function. This can be done with something like:
14*9880d681SAndroid Build Coastguard Worker;         llc -stop-after stack-slot-coloring BreakableToken-reduced.ll > BreakableToken-reduced.mir
15*9880d681SAndroid Build Coastguard Worker;
16*9880d681SAndroid Build Coastguard Worker;       The resulting MIR file can then be used as input to llc, and only run
17*9880d681SAndroid Build Coastguard Worker;       shrink wrapping and Prologue/Epilogue insertion on it. For example:
18*9880d681SAndroid Build Coastguard Worker;         llc -start-after stack-slot-coloring -stop-after prologepilog BreakableToken-reduced.mir
19*9880d681SAndroid Build Coastguard Worker;
20*9880d681SAndroid Build Coastguard Worker;       Verify in the resulting code that R0 is not used in the prologue/epilogue.
21*9880d681SAndroid Build Coastguard Worker;
22*9880d681SAndroid Build Coastguard Worker;       This currently cannot be done because the PrologEpilogInserter pass has
23*9880d681SAndroid Build Coastguard Worker;       a dependency on the TargetPassConfig and StackProtector classes, which
24*9880d681SAndroid Build Coastguard Worker;       are currently not serialized when generating the MIR.
25*9880d681SAndroid Build Coastguard Worker;
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker; ModuleID = 'BreakableToken.cpp'
28*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-i64:64-n32:64"
29*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64le-unknown-linux-gnu"
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker%"class.clang::format::BreakableStringLiteral" = type { %"class.clang::format::BreakableSingleLineToken" }
32*9880d681SAndroid Build Coastguard Worker%"class.clang::format::BreakableSingleLineToken" = type { %"class.clang::format::BreakableToken", i32, %"class.llvm::StringRef", %"class.llvm::StringRef", %"class.llvm::StringRef" }
33*9880d681SAndroid Build Coastguard Worker%"class.clang::format::BreakableToken" = type { i32 (...)**, %"struct.clang::format::FormatToken"*, i32, i8, i32, %"struct.clang::format::FormatStyle"* }
34*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringRef" = type { i8*, i64 }
35*9880d681SAndroid Build Coastguard Worker%"struct.clang::format::FormatToken" = type <{ %"class.clang::Token", i32, i8, [3 x i8], %"class.clang::SourceRange", i32, i32, i32, i8, i8, i8, i8, %"class.llvm::StringRef", i8, [3 x i8], i32, i32, i32, i8, i8, [2 x i8], i32, i32, i16, [2 x i8], %"class.std::unique_ptr", i32, i32, i32, i32, i32, i32, i32, i32, %"class.llvm::SmallVector", i32, i8, i8, [2 x i8], i32, i8, i8, [2 x i8], %"struct.clang::format::FormatToken"*, %"struct.clang::format::FormatToken"*, %"struct.clang::format::FormatToken"*, %"class.llvm::SmallVector.6", i32, i8, [3 x i8] }>
36*9880d681SAndroid Build Coastguard Worker%"class.clang::Token" = type <{ i32, i32, i8*, i16, i16, [4 x i8] }>
37*9880d681SAndroid Build Coastguard Worker%"class.clang::SourceRange" = type { %"class.clang::SourceLocation", %"class.clang::SourceLocation" }
38*9880d681SAndroid Build Coastguard Worker%"class.clang::SourceLocation" = type { i32 }
39*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr" = type { %"class.std::tuple" }
40*9880d681SAndroid Build Coastguard Worker%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
41*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.2" }
42*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.2" = type { %"class.clang::format::TokenRole"* }
43*9880d681SAndroid Build Coastguard Worker%"class.clang::format::TokenRole" = type { i32 (...)**, %"struct.clang::format::FormatStyle"* }
44*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector" = type { %"class.llvm::SmallVectorImpl.base", %"struct.llvm::SmallVectorStorage" }
45*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.base" = type { %"class.llvm::SmallVectorTemplateBase.base" }
46*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.base" = type { %"class.llvm::SmallVectorTemplateCommon.base" }
47*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.base" = type <{ %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion" }>
48*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorBase" = type { i8*, i8*, i8* }
49*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion" = type { %"struct.llvm::AlignedCharArray" }
50*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray" = type { [4 x i8] }
51*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage" = type { [3 x %"struct.llvm::AlignedCharArrayUnion"] }
52*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.6" = type <{ %"class.llvm::SmallVectorImpl.7", %"struct.llvm::SmallVectorStorage.12", [7 x i8] }>
53*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.7" = type { %"class.llvm::SmallVectorTemplateBase.8" }
54*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.8" = type { %"class.llvm::SmallVectorTemplateCommon.9" }
55*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.9" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.10" }
56*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.10" = type { %"struct.llvm::AlignedCharArray.11" }
57*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.11" = type { [8 x i8] }
58*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.12" = type { i8 }
59*9880d681SAndroid Build Coastguard Worker%"struct.clang::format::FormatStyle" = type { i32, i8, i8, i8, i8, i8, i8, i8, i8, i32, i8, i8, i32, i8, i8, i8, i8, i32, i32, i8, i8, i32, %"class.std::basic_string", i8, i32, i32, i8, i8, i8, i8, %"class.std::vector", i8, i32, i8, i8, i32, %"class.std::basic_string", %"class.std::basic_string", i32, i32, i32, i8, i8, i32, i32, i32, i32, i32, i32, i32, i8, i8, i32, i8, i32, i8, i8, i8, i8, i8, i32, i32, i32 }
60*9880d681SAndroid Build Coastguard Worker%"class.std::vector" = type { %"struct.std::_Vector_base" }
61*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" }
62*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" = type { %"class.std::basic_string"*, %"class.std::basic_string"*, %"class.std::basic_string"* }
63*9880d681SAndroid Build Coastguard Worker%"class.std::basic_string" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" }
64*9880d681SAndroid Build Coastguard Worker%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* }
65*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.52" = type { [16 x i8] }
66*9880d681SAndroid Build Coastguard Worker%"class.clang::format::WhitespaceManager" = type <{ %"class.llvm::SmallVector.13", %"class.clang::SourceManager"*, %"class.std::set", %"struct.clang::format::FormatStyle"*, i8, [7 x i8] }>
67*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.13" = type { %"class.llvm::SmallVectorImpl.14", %"struct.llvm::SmallVectorStorage.19" }
68*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.14" = type { %"class.llvm::SmallVectorTemplateBase.15" }
69*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.15" = type { %"class.llvm::SmallVectorTemplateCommon.16" }
70*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.16" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.17" }
71*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.17" = type { %"struct.llvm::AlignedCharArray.18" }
72*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.18" = type { [88 x i8] }
73*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.19" = type { [15 x %"struct.llvm::AlignedCharArrayUnion.17"] }
74*9880d681SAndroid Build Coastguard Worker%"class.clang::SourceManager" = type { %"class.llvm::RefCountedBase", %"class.clang::DiagnosticsEngine"*, %"class.clang::FileManager"*, %"class.llvm::BumpPtrAllocatorImpl", %"class.llvm::DenseMap.65", i8, i8, %"class.std::unique_ptr.78", %"class.std::vector.94", %"class.llvm::SmallVector.99", %"class.llvm::SmallVector.99", i32, i32, %"class.std::vector.107", %"class.clang::ExternalSLocEntrySource"*, %"class.clang::FileID", %"class.clang::LineTableInfo"*, %"class.clang::FileID", %"class.clang::SrcMgr::ContentCache"*, i32, i32, %"class.clang::FileID", %"class.clang::FileID", i32, i32, %"class.llvm::DenseMap.111", %"class.llvm::DenseMap.115", %"class.clang::InBeforeInTUCacheEntry", %"class.std::unique_ptr.119", %"class.std::unique_ptr.127", %"class.llvm::DenseMap.135", %"class.llvm::SmallVector.139" }
75*9880d681SAndroid Build Coastguard Worker%"class.llvm::RefCountedBase" = type { i32 }
76*9880d681SAndroid Build Coastguard Worker%"class.clang::DiagnosticsEngine" = type opaque
77*9880d681SAndroid Build Coastguard Worker%"class.clang::FileManager" = type { %"class.llvm::RefCountedBase.20", %"class.llvm::IntrusiveRefCntPtr", %"class.clang::FileSystemOptions", %"class.std::map", %"class.std::map.24", %"class.llvm::SmallVector.29", %"class.llvm::SmallVector.35", %"class.llvm::StringMap", %"class.llvm::StringMap.56", %"class.llvm::DenseMap", %"class.llvm::BumpPtrAllocatorImpl", i32, i32, i32, i32, i32, %"class.std::unique_ptr.57" }
78*9880d681SAndroid Build Coastguard Worker%"class.llvm::RefCountedBase.20" = type { i32 }
79*9880d681SAndroid Build Coastguard Worker%"class.llvm::IntrusiveRefCntPtr" = type { %"class.clang::vfs::FileSystem"* }
80*9880d681SAndroid Build Coastguard Worker%"class.clang::vfs::FileSystem" = type <{ i32 (...)**, %"class.llvm::ThreadSafeRefCountedBase", [4 x i8] }>
81*9880d681SAndroid Build Coastguard Worker%"class.llvm::ThreadSafeRefCountedBase" = type { %"struct.std::atomic" }
82*9880d681SAndroid Build Coastguard Worker%"struct.std::atomic" = type { %"struct.std::__atomic_base" }
83*9880d681SAndroid Build Coastguard Worker%"struct.std::__atomic_base" = type { i32 }
84*9880d681SAndroid Build Coastguard Worker%"class.clang::FileSystemOptions" = type { %"class.std::basic_string" }
85*9880d681SAndroid Build Coastguard Worker%"class.std::map" = type { %"class.std::_Rb_tree" }
86*9880d681SAndroid Build Coastguard Worker%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<llvm::sys::fs::UniqueID, std::pair<const llvm::sys::fs::UniqueID, clang::DirectoryEntry>, std::_Select1st<std::pair<const llvm::sys::fs::UniqueID, clang::DirectoryEntry> >, std::less<llvm::sys::fs::UniqueID>, std::allocator<std::pair<const llvm::sys::fs::UniqueID, clang::DirectoryEntry> > >::_Rb_tree_impl" }
87*9880d681SAndroid Build Coastguard Worker%"struct.std::_Rb_tree<llvm::sys::fs::UniqueID, std::pair<const llvm::sys::fs::UniqueID, clang::DirectoryEntry>, std::_Select1st<std::pair<const llvm::sys::fs::UniqueID, clang::DirectoryEntry> >, std::less<llvm::sys::fs::UniqueID>, std::allocator<std::pair<const llvm::sys::fs::UniqueID, clang::DirectoryEntry> > >::_Rb_tree_impl" = type { %"struct.std::less", %"struct.std::_Rb_tree_node_base", i64 }
88*9880d681SAndroid Build Coastguard Worker%"struct.std::less" = type { i8 }
89*9880d681SAndroid Build Coastguard Worker%"struct.std::_Rb_tree_node_base" = type { i32, %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"* }
90*9880d681SAndroid Build Coastguard Worker%"class.std::map.24" = type { %"class.std::_Rb_tree.25" }
91*9880d681SAndroid Build Coastguard Worker%"class.std::_Rb_tree.25" = type { %"struct.std::_Rb_tree<llvm::sys::fs::UniqueID, std::pair<const llvm::sys::fs::UniqueID, clang::FileEntry>, std::_Select1st<std::pair<const llvm::sys::fs::UniqueID, clang::FileEntry> >, std::less<llvm::sys::fs::UniqueID>, std::allocator<std::pair<const llvm::sys::fs::UniqueID, clang::FileEntry> > >::_Rb_tree_impl" }
92*9880d681SAndroid Build Coastguard Worker%"struct.std::_Rb_tree<llvm::sys::fs::UniqueID, std::pair<const llvm::sys::fs::UniqueID, clang::FileEntry>, std::_Select1st<std::pair<const llvm::sys::fs::UniqueID, clang::FileEntry> >, std::less<llvm::sys::fs::UniqueID>, std::allocator<std::pair<const llvm::sys::fs::UniqueID, clang::FileEntry> > >::_Rb_tree_impl" = type { %"struct.std::less", %"struct.std::_Rb_tree_node_base", i64 }
93*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.29" = type { %"class.llvm::SmallVectorImpl.30", %"struct.llvm::SmallVectorStorage.34" }
94*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.30" = type { %"class.llvm::SmallVectorTemplateBase.31" }
95*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.31" = type { %"class.llvm::SmallVectorTemplateCommon.32" }
96*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.32" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.33" }
97*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.33" = type { %"struct.llvm::AlignedCharArray.11" }
98*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.34" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.33"] }
99*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.35" = type { %"class.llvm::SmallVectorImpl.36", %"struct.llvm::SmallVectorStorage.40" }
100*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.36" = type { %"class.llvm::SmallVectorTemplateBase.37" }
101*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.37" = type { %"class.llvm::SmallVectorTemplateCommon.38" }
102*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.38" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.39" }
103*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.39" = type { %"struct.llvm::AlignedCharArray.11" }
104*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.40" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.39"] }
105*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMap" = type { %"class.llvm::StringMapImpl", %"class.llvm::BumpPtrAllocatorImpl" }
106*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMapImpl" = type { %"class.llvm::StringMapEntryBase"**, i32, i32, i32, i32 }
107*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMapEntryBase" = type { i32 }
108*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMap.56" = type { %"class.llvm::StringMapImpl", %"class.llvm::BumpPtrAllocatorImpl" }
109*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap" = type <{ %"struct.llvm::detail::DenseMapPair"*, i32, i32, i32, [4 x i8] }>
110*9880d681SAndroid Build Coastguard Worker%"struct.llvm::detail::DenseMapPair" = type opaque
111*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr.57" = type { %"class.std::tuple.58" }
112*9880d681SAndroid Build Coastguard Worker%"class.std::tuple.58" = type { %"struct.std::_Tuple_impl.59" }
113*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl.59" = type { %"struct.std::_Head_base.64" }
114*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.64" = type { %"class.clang::FileSystemStatCache"* }
115*9880d681SAndroid Build Coastguard Worker%"class.clang::FileSystemStatCache" = type opaque
116*9880d681SAndroid Build Coastguard Worker%"class.llvm::BumpPtrAllocatorImpl" = type <{ i8*, i8*, %"class.llvm::SmallVector.41", %"class.llvm::SmallVector.47", i64, %"class.llvm::MallocAllocator", [7 x i8] }>
117*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.41" = type { %"class.llvm::SmallVectorImpl.42", %"struct.llvm::SmallVectorStorage.46" }
118*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.42" = type { %"class.llvm::SmallVectorTemplateBase.43" }
119*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.43" = type { %"class.llvm::SmallVectorTemplateCommon.44" }
120*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.44" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.45" }
121*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.45" = type { %"struct.llvm::AlignedCharArray.11" }
122*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.46" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.45"] }
123*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.47" = type <{ %"class.llvm::SmallVectorImpl.48", %"struct.llvm::SmallVectorStorage.53", [7 x i8] }>
124*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.48" = type { %"class.llvm::SmallVectorTemplateBase.49" }
125*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.49" = type { %"class.llvm::SmallVectorTemplateCommon.50" }
126*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.50" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.51" }
127*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.51" = type { %"struct.llvm::AlignedCharArray.52" }
128*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.53" = type { i8 }
129*9880d681SAndroid Build Coastguard Worker%"class.llvm::MallocAllocator" = type { i8 }
130*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap.65" = type <{ %"struct.llvm::detail::DenseMapPair.67"*, i32, i32, i32, [4 x i8] }>
131*9880d681SAndroid Build Coastguard Worker%"struct.llvm::detail::DenseMapPair.67" = type { %"struct.std::pair.68" }
132*9880d681SAndroid Build Coastguard Worker%"struct.std::pair.68" = type { %"class.clang::FileEntry"*, %"class.clang::SrcMgr::ContentCache"* }
133*9880d681SAndroid Build Coastguard Worker%"class.clang::FileEntry" = type { i8*, i64, i64, %"class.clang::DirectoryEntry"*, i32, %"class.llvm::sys::fs::UniqueID", i8, i8, i8, %"class.std::unique_ptr.69" }
134*9880d681SAndroid Build Coastguard Worker%"class.clang::DirectoryEntry" = type { i8* }
135*9880d681SAndroid Build Coastguard Worker%"class.llvm::sys::fs::UniqueID" = type { i64, i64 }
136*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr.69" = type { %"class.std::tuple.70" }
137*9880d681SAndroid Build Coastguard Worker%"class.std::tuple.70" = type { %"struct.std::_Tuple_impl.71" }
138*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl.71" = type { %"struct.std::_Head_base.76" }
139*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.76" = type { %"class.clang::vfs::File"* }
140*9880d681SAndroid Build Coastguard Worker%"class.clang::vfs::File" = type { i32 (...)** }
141*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr.78" = type { %"class.std::tuple.79" }
142*9880d681SAndroid Build Coastguard Worker%"class.std::tuple.79" = type { %"struct.std::_Tuple_impl.80" }
143*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl.80" = type { %"struct.std::_Head_base.85" }
144*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.85" = type { %"struct.clang::SourceManager::OverriddenFilesInfoTy"* }
145*9880d681SAndroid Build Coastguard Worker%"struct.clang::SourceManager::OverriddenFilesInfoTy" = type { %"class.llvm::DenseMap.86", %"class.llvm::DenseSet" }
146*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap.86" = type <{ %"struct.llvm::detail::DenseMapPair.88"*, i32, i32, i32, [4 x i8] }>
147*9880d681SAndroid Build Coastguard Worker%"struct.llvm::detail::DenseMapPair.88" = type { %"struct.std::pair.89" }
148*9880d681SAndroid Build Coastguard Worker%"struct.std::pair.89" = type { %"class.clang::FileEntry"*, %"class.clang::FileEntry"* }
149*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseSet" = type { %"class.llvm::DenseMap.91" }
150*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap.91" = type <{ %"class.llvm::detail::DenseSetPair"*, i32, i32, i32, [4 x i8] }>
151*9880d681SAndroid Build Coastguard Worker%"class.llvm::detail::DenseSetPair" = type { %"class.clang::FileEntry"* }
152*9880d681SAndroid Build Coastguard Worker%"class.std::vector.94" = type { %"struct.std::_Vector_base.95" }
153*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base.95" = type { %"struct.std::_Vector_base<clang::SrcMgr::ContentCache *, std::allocator<clang::SrcMgr::ContentCache *> >::_Vector_impl" }
154*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<clang::SrcMgr::ContentCache *, std::allocator<clang::SrcMgr::ContentCache *> >::_Vector_impl" = type { %"class.clang::SrcMgr::ContentCache"**, %"class.clang::SrcMgr::ContentCache"**, %"class.clang::SrcMgr::ContentCache"** }
155*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.99" = type <{ %"class.llvm::SmallVectorImpl.100", %"struct.llvm::SmallVectorStorage.105", [7 x i8] }>
156*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.100" = type { %"class.llvm::SmallVectorTemplateBase.101" }
157*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.101" = type { %"class.llvm::SmallVectorTemplateCommon.102" }
158*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.102" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.103" }
159*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.103" = type { %"struct.llvm::AlignedCharArray.104" }
160*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.104" = type { [24 x i8] }
161*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.105" = type { i8 }
162*9880d681SAndroid Build Coastguard Worker%"class.std::vector.107" = type { %"struct.std::_Bvector_base" }
163*9880d681SAndroid Build Coastguard Worker%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl" }
164*9880d681SAndroid Build Coastguard Worker%"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", i64* }
165*9880d681SAndroid Build Coastguard Worker%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
166*9880d681SAndroid Build Coastguard Worker%"struct.std::_Bit_iterator_base.base" = type <{ i64*, i32 }>
167*9880d681SAndroid Build Coastguard Worker%"class.clang::ExternalSLocEntrySource" = type { i32 (...)** }
168*9880d681SAndroid Build Coastguard Worker%"class.clang::LineTableInfo" = type opaque
169*9880d681SAndroid Build Coastguard Worker%"class.clang::SrcMgr::ContentCache" = type <{ %"class.llvm::PointerIntPair", %"class.clang::FileEntry"*, %"class.clang::FileEntry"*, i32*, [5 x i8], [3 x i8] }>
170*9880d681SAndroid Build Coastguard Worker%"class.llvm::PointerIntPair" = type { i64 }
171*9880d681SAndroid Build Coastguard Worker%"class.clang::FileID" = type { i32 }
172*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap.111" = type <{ %"struct.llvm::detail::DenseMapPair.113"*, i32, i32, i32, [4 x i8] }>
173*9880d681SAndroid Build Coastguard Worker%"struct.llvm::detail::DenseMapPair.113" = type opaque
174*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap.115" = type <{ %"struct.llvm::detail::DenseMapPair.117"*, i32, i32, i32, [4 x i8] }>
175*9880d681SAndroid Build Coastguard Worker%"struct.llvm::detail::DenseMapPair.117" = type opaque
176*9880d681SAndroid Build Coastguard Worker%"class.clang::InBeforeInTUCacheEntry" = type { %"class.clang::FileID", %"class.clang::FileID", i8, %"class.clang::FileID", i32, i32 }
177*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr.119" = type { %"class.std::tuple.120" }
178*9880d681SAndroid Build Coastguard Worker%"class.std::tuple.120" = type { %"struct.std::_Tuple_impl.121" }
179*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl.121" = type { %"struct.std::_Head_base.126" }
180*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.126" = type { %"class.llvm::MemoryBuffer"* }
181*9880d681SAndroid Build Coastguard Worker%"class.llvm::MemoryBuffer" = type { i32 (...)**, i8*, i8* }
182*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr.127" = type { %"class.std::tuple.128" }
183*9880d681SAndroid Build Coastguard Worker%"class.std::tuple.128" = type { %"struct.std::_Tuple_impl.129" }
184*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl.129" = type { %"struct.std::_Head_base.134" }
185*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.134" = type { %"class.clang::SrcMgr::ContentCache"* }
186*9880d681SAndroid Build Coastguard Worker%"class.llvm::DenseMap.135" = type <{ %"struct.llvm::detail::DenseMapPair.137"*, i32, i32, i32, [4 x i8] }>
187*9880d681SAndroid Build Coastguard Worker%"struct.llvm::detail::DenseMapPair.137" = type opaque
188*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.139" = type { %"class.llvm::SmallVectorImpl.140", %"struct.llvm::SmallVectorStorage.144" }
189*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.140" = type { %"class.llvm::SmallVectorTemplateBase.141" }
190*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.141" = type { %"class.llvm::SmallVectorTemplateCommon.142" }
191*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.142" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.143" }
192*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.143" = type { %"struct.llvm::AlignedCharArray.104" }
193*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.144" = type { [1 x %"struct.llvm::AlignedCharArrayUnion.143"] }
194*9880d681SAndroid Build Coastguard Worker%"class.std::set" = type { %"class.std::_Rb_tree.145" }
195*9880d681SAndroid Build Coastguard Worker%"class.std::_Rb_tree.145" = type { %"struct.std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::_Rb_tree_impl" }
196*9880d681SAndroid Build Coastguard Worker%"struct.std::_Rb_tree<clang::tooling::Replacement, clang::tooling::Replacement, std::_Identity<clang::tooling::Replacement>, std::less<clang::tooling::Replacement>, std::allocator<clang::tooling::Replacement> >::_Rb_tree_impl" = type { %"struct.std::less.149", %"struct.std::_Rb_tree_node_base", i64 }
197*9880d681SAndroid Build Coastguard Worker%"struct.std::less.149" = type { i8 }
198*9880d681SAndroid Build Coastguard Worker
199*9880d681SAndroid Build Coastguard Worker
200*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
201*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @_ZN5clang6format22BreakableStringLiteral11insertBreakEjjSt4pairImjERNS0_17WhitespaceManagerE
202*9880d681SAndroid Build Coastguard Worker
203*9880d681SAndroid Build Coastguard Worker; Load a value into R0 before saving the LR
204*9880d681SAndroid Build Coastguard Worker; CHECK: lwz 0, {{[0-9]+([0-9]+)}}
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Worker; Ensure the LR is saved using a different register
207*9880d681SAndroid Build Coastguard Worker; CHECK: mflr {{[1-9]+}}
208*9880d681SAndroid Build Coastguard Worker
209*9880d681SAndroid Build Coastguard Worker; Ensure the LR is restored using a different register
210*9880d681SAndroid Build Coastguard Worker; CHECK: mtlr {{[0-9]+}}
211*9880d681SAndroid Build Coastguard Worker; CHECK: blr
212*9880d681SAndroid Build Coastguard Workerdefine void @_ZN5clang6format22BreakableStringLiteral11insertBreakEjjSt4pairImjERNS0_17WhitespaceManagerE(%"class.clang::format::BreakableStringLiteral"* nocapture readonly %this, i32 zeroext %LineIndex, i32 zeroext %TailOffset, [2 x i64] %Split.coerce, %"class.clang::format::WhitespaceManager"* dereferenceable(1504) %Whitespaces) unnamed_addr #1 align 2 {
213*9880d681SAndroid Build Coastguard Workerentry:
214*9880d681SAndroid Build Coastguard Worker  %Split.coerce.fca.0.extract = extractvalue [2 x i64] %Split.coerce, 0
215*9880d681SAndroid Build Coastguard Worker  %Split.coerce.fca.1.extract = extractvalue [2 x i64] %Split.coerce, 1
216*9880d681SAndroid Build Coastguard Worker  %StartColumn = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 1
217*9880d681SAndroid Build Coastguard Worker  %0 = load i32, i32* %StartColumn, align 8, !tbaa !2
218*9880d681SAndroid Build Coastguard Worker  %Prefix = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 2
219*9880d681SAndroid Build Coastguard Worker  %Length.i.19 = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 2, i32 1
220*9880d681SAndroid Build Coastguard Worker  %1 = load i64, i64* %Length.i.19, align 8, !tbaa !10
221*9880d681SAndroid Build Coastguard Worker  %cmp.i = icmp eq i64 %1, 0
222*9880d681SAndroid Build Coastguard Worker  br i1 %cmp.i, label %entry._ZNK4llvm9StringRef10startswithES0_.exit_crit_edge, label %if.end.i.i
223*9880d681SAndroid Build Coastguard Worker
224*9880d681SAndroid Build Coastguard Workerentry._ZNK4llvm9StringRef10startswithES0_.exit_crit_edge: ; preds = %entry
225*9880d681SAndroid Build Coastguard Worker  %agg.tmp7.sroa.0.0..sroa_cast.phi.trans.insert = bitcast %"class.llvm::StringRef"* %Prefix to i64*
226*9880d681SAndroid Build Coastguard Worker  %agg.tmp7.sroa.0.0.copyload.pre = load i64, i64* %agg.tmp7.sroa.0.0..sroa_cast.phi.trans.insert, align 8
227*9880d681SAndroid Build Coastguard Worker  br label %_ZNK4llvm9StringRef10startswithES0_.exit
228*9880d681SAndroid Build Coastguard Worker
229*9880d681SAndroid Build Coastguard Workerif.end.i.i:                                       ; preds = %entry
230*9880d681SAndroid Build Coastguard Worker  %Data.i.20 = getelementptr inbounds %"class.llvm::StringRef", %"class.llvm::StringRef"* %Prefix, i64 0, i32 0
231*9880d681SAndroid Build Coastguard Worker  %2 = load i8*, i8** %Data.i.20, align 8, !tbaa !12
232*9880d681SAndroid Build Coastguard Worker  %lhsc = load i8, i8* %2, align 1
233*9880d681SAndroid Build Coastguard Worker  %phitmp.i = icmp eq i8 %lhsc, 64
234*9880d681SAndroid Build Coastguard Worker  %3 = ptrtoint i8* %2 to i64
235*9880d681SAndroid Build Coastguard Worker  br label %_ZNK4llvm9StringRef10startswithES0_.exit
236*9880d681SAndroid Build Coastguard Worker
237*9880d681SAndroid Build Coastguard Worker_ZNK4llvm9StringRef10startswithES0_.exit:         ; preds = %entry._ZNK4llvm9StringRef10startswithES0_.exit_crit_edge, %if.end.i.i
238*9880d681SAndroid Build Coastguard Worker  %agg.tmp7.sroa.0.0.copyload = phi i64 [ %agg.tmp7.sroa.0.0.copyload.pre, %entry._ZNK4llvm9StringRef10startswithES0_.exit_crit_edge ], [ %3, %if.end.i.i ]
239*9880d681SAndroid Build Coastguard Worker  %4 = phi i1 [ false, %entry._ZNK4llvm9StringRef10startswithES0_.exit_crit_edge ], [ %phitmp.i, %if.end.i.i ]
240*9880d681SAndroid Build Coastguard Worker  %dec = sext i1 %4 to i32
241*9880d681SAndroid Build Coastguard Worker  %dec. = add i32 %dec, %0
242*9880d681SAndroid Build Coastguard Worker  %Tok = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 0, i32 1
243*9880d681SAndroid Build Coastguard Worker  %ref = load %"struct.clang::format::FormatToken"*, %"struct.clang::format::FormatToken"** %Tok, align 8, !tbaa !13
244*9880d681SAndroid Build Coastguard Worker  %conv = zext i32 %TailOffset to i64
245*9880d681SAndroid Build Coastguard Worker  %add = add i64 %Split.coerce.fca.0.extract, %conv
246*9880d681SAndroid Build Coastguard Worker  %add4 = add i64 %add, %1
247*9880d681SAndroid Build Coastguard Worker  %conv5 = trunc i64 %add4 to i32
248*9880d681SAndroid Build Coastguard Worker  %Split.sroa.2.8.extract.trunc = trunc i64 %Split.coerce.fca.1.extract to i32
249*9880d681SAndroid Build Coastguard Worker  %agg.tmp6.sroa.0.0..sroa_idx13 = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 3
250*9880d681SAndroid Build Coastguard Worker  %agg.tmp6.sroa.0.0..sroa_cast = bitcast %"class.llvm::StringRef"* %agg.tmp6.sroa.0.0..sroa_idx13 to i64*
251*9880d681SAndroid Build Coastguard Worker  %agg.tmp6.sroa.0.0.copyload = load i64, i64* %agg.tmp6.sroa.0.0..sroa_cast, align 8
252*9880d681SAndroid Build Coastguard Worker  %agg.tmp6.sroa.2.0..sroa_idx14 = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 3, i32 1
253*9880d681SAndroid Build Coastguard Worker  %agg.tmp6.sroa.2.0.copyload = load i64, i64* %agg.tmp6.sroa.2.0..sroa_idx14, align 8
254*9880d681SAndroid Build Coastguard Worker  %InPPDirective = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 0, i32 3
255*9880d681SAndroid Build Coastguard Worker  %5 = load i8, i8* %InPPDirective, align 4, !tbaa !34, !range !39
256*9880d681SAndroid Build Coastguard Worker  %tobool = icmp ne i8 %5, 0
257*9880d681SAndroid Build Coastguard Worker  %IndentLevel = getelementptr inbounds %"class.clang::format::BreakableStringLiteral", %"class.clang::format::BreakableStringLiteral"* %this, i64 0, i32 0, i32 0, i32 2
258*9880d681SAndroid Build Coastguard Worker  %6 = load i32, i32* %IndentLevel, align 8, !tbaa !33
259*9880d681SAndroid Build Coastguard Worker  %.fca.0.insert11 = insertvalue [2 x i64] undef, i64 %agg.tmp6.sroa.0.0.copyload, 0
260*9880d681SAndroid Build Coastguard Worker  %.fca.1.insert12 = insertvalue [2 x i64] %.fca.0.insert11, i64 %agg.tmp6.sroa.2.0.copyload, 1
261*9880d681SAndroid Build Coastguard Worker  %.fca.0.insert = insertvalue [2 x i64] undef, i64 %agg.tmp7.sroa.0.0.copyload, 0
262*9880d681SAndroid Build Coastguard Worker  %.fca.1.insert = insertvalue [2 x i64] %.fca.0.insert, i64 %1, 1
263*9880d681SAndroid Build Coastguard Worker  tail call void @_ZN5clang6format17WhitespaceManager24replaceWhitespaceInTokenERKNS0_11FormatTokenEjjN4llvm9StringRefES6_bjji(%"class.clang::format::WhitespaceManager"* nonnull %Whitespaces, %"struct.clang::format::FormatToken"* dereferenceable(272) %ref, i32 zeroext %conv5, i32 zeroext %Split.sroa.2.8.extract.trunc, [2 x i64] %.fca.1.insert12, [2 x i64] %.fca.1.insert, i1 zeroext %tobool, i32 zeroext 1, i32 zeroext %6, i32 signext %dec.) #9
264*9880d681SAndroid Build Coastguard Worker  ret void
265*9880d681SAndroid Build Coastguard Worker}
266*9880d681SAndroid Build Coastguard Worker
267*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind argmemonly
268*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.lifetime.start(i64, i8* nocapture) #2
269*9880d681SAndroid Build Coastguard Worker
270*9880d681SAndroid Build Coastguard Workerdeclare void @_ZN5clang6format17WhitespaceManager24replaceWhitespaceInTokenERKNS0_11FormatTokenEjjN4llvm9StringRefES6_bjji(%"class.clang::format::WhitespaceManager"*, %"struct.clang::format::FormatToken"* dereferenceable(272), i32 zeroext, i32 zeroext, [2 x i64], [2 x i64], i1 zeroext, i32 zeroext, i32 zeroext, i32 signext) #3
271*9880d681SAndroid Build Coastguard Worker
272*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind argmemonly
273*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.lifetime.end(i64, i8* nocapture) #2
274*9880d681SAndroid Build Coastguard Worker
275*9880d681SAndroid Build Coastguard Workerattributes #9 = { nounwind }
276*9880d681SAndroid Build Coastguard Worker
277*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!0}
278*9880d681SAndroid Build Coastguard Worker!llvm.ident = !{!1}
279*9880d681SAndroid Build Coastguard Worker
280*9880d681SAndroid Build Coastguard Worker!0 = !{i32 1, !"PIC Level", i32 2}
281*9880d681SAndroid Build Coastguard Worker!1 = !{!"clang version 3.8.0 (trunk 248714) (llvm/trunk 248719)"}
282*9880d681SAndroid Build Coastguard Worker!2 = !{!3, !4, i64 40}
283*9880d681SAndroid Build Coastguard Worker!3 = !{!"_ZTSN5clang6format24BreakableSingleLineTokenE", !4, i64 40, !7, i64 48, !7, i64 64, !7, i64 80}
284*9880d681SAndroid Build Coastguard Worker!4 = !{!"int", !5, i64 0}
285*9880d681SAndroid Build Coastguard Worker!5 = !{!"omnipotent char", !6, i64 0}
286*9880d681SAndroid Build Coastguard Worker!6 = !{!"Simple C/C++ TBAA"}
287*9880d681SAndroid Build Coastguard Worker!7 = !{!"_ZTSN4llvm9StringRefE", !8, i64 0, !9, i64 8}
288*9880d681SAndroid Build Coastguard Worker!8 = !{!"any pointer", !5, i64 0}
289*9880d681SAndroid Build Coastguard Worker!9 = !{!"long", !5, i64 0}
290*9880d681SAndroid Build Coastguard Worker!10 = !{!7, !9, i64 8}
291*9880d681SAndroid Build Coastguard Worker!11 = !{!9, !9, i64 0}
292*9880d681SAndroid Build Coastguard Worker!12 = !{!7, !8, i64 0}
293*9880d681SAndroid Build Coastguard Worker!13 = !{!5, !5, i64 0}
294*9880d681SAndroid Build Coastguard Worker!14 = !{!15, !4, i64 200}
295*9880d681SAndroid Build Coastguard Worker!15 = !{!"_ZTSN5clang6format11FormatStyleE", !4, i64 0, !16, i64 4, !16, i64 5, !16, i64 6, !16, i64 7, !16, i64 8, !16, i64 9, !16, i64 10, !16, i64 11, !17, i64 12, !16, i64 16, !16, i64 17, !18, i64 20, !16, i64 24, !16, i64 25, !16, i64 26, !16, i64 27, !19, i64 28, !20, i64 32, !16, i64 36, !16, i64 37, !4, i64 40, !21, i64 48, !16, i64 56, !4, i64 60, !4, i64 64, !16, i64 68, !16, i64 69, !16, i64 70, !16, i64 71, !23, i64 72, !16, i64 96, !4, i64 100, !16, i64 104, !16, i64 105, !24, i64 108, !21, i64 112, !21, i64 120, !4, i64 128, !25, i64 132, !4, i64 136, !16, i64 140, !16, i64 141, !4, i64 144, !4, i64 148, !4, i64 152, !4, i64 156, !4, i64 160, !4, i64 164, !26, i64 168, !16, i64 172, !16, i64 173, !27, i64 176, !16, i64 180, !4, i64 184, !16, i64 188, !16, i64 189, !16, i64 190, !16, i64 191, !16, i64 192, !28, i64 196, !4, i64 200, !29, i64 204}
296*9880d681SAndroid Build Coastguard Worker!16 = !{!"bool", !5, i64 0}
297*9880d681SAndroid Build Coastguard Worker!17 = !{!"_ZTSN5clang6format11FormatStyle18ShortFunctionStyleE", !5, i64 0}
298*9880d681SAndroid Build Coastguard Worker!18 = !{!"_ZTSN5clang6format11FormatStyle33DefinitionReturnTypeBreakingStyleE", !5, i64 0}
299*9880d681SAndroid Build Coastguard Worker!19 = !{!"_ZTSN5clang6format11FormatStyle19BinaryOperatorStyleE", !5, i64 0}
300*9880d681SAndroid Build Coastguard Worker!20 = !{!"_ZTSN5clang6format11FormatStyle18BraceBreakingStyleE", !5, i64 0}
301*9880d681SAndroid Build Coastguard Worker!21 = !{!"_ZTSSs", !22, i64 0}
302*9880d681SAndroid Build Coastguard Worker!22 = !{!"_ZTSNSs12_Alloc_hiderE", !8, i64 0}
303*9880d681SAndroid Build Coastguard Worker!23 = !{!"_ZTSSt6vectorISsSaISsEE"}
304*9880d681SAndroid Build Coastguard Worker!24 = !{!"_ZTSN5clang6format11FormatStyle12LanguageKindE", !5, i64 0}
305*9880d681SAndroid Build Coastguard Worker!25 = !{!"_ZTSN5clang6format11FormatStyle24NamespaceIndentationKindE", !5, i64 0}
306*9880d681SAndroid Build Coastguard Worker!26 = !{!"_ZTSN5clang6format11FormatStyle21PointerAlignmentStyleE", !5, i64 0}
307*9880d681SAndroid Build Coastguard Worker!27 = !{!"_ZTSN5clang6format11FormatStyle24SpaceBeforeParensOptionsE", !5, i64 0}
308*9880d681SAndroid Build Coastguard Worker!28 = !{!"_ZTSN5clang6format11FormatStyle16LanguageStandardE", !5, i64 0}
309*9880d681SAndroid Build Coastguard Worker!29 = !{!"_ZTSN5clang6format11FormatStyle11UseTabStyleE", !5, i64 0}
310*9880d681SAndroid Build Coastguard Worker!30 = !{!31, !32, i64 24}
311*9880d681SAndroid Build Coastguard Worker!31 = !{!"_ZTSN5clang6format14BreakableTokenE", !5, i64 8, !4, i64 16, !16, i64 20, !32, i64 24, !5, i64 32}
312*9880d681SAndroid Build Coastguard Worker!32 = !{!"_ZTSN5clang6format8encoding8EncodingE", !5, i64 0}
313*9880d681SAndroid Build Coastguard Worker!33 = !{!31, !4, i64 16}
314*9880d681SAndroid Build Coastguard Worker!34 = !{!31, !16, i64 20}
315*9880d681SAndroid Build Coastguard Worker!35 = !{!36, !36, i64 0}
316*9880d681SAndroid Build Coastguard Worker!36 = !{!"vtable pointer", !6, i64 0}
317*9880d681SAndroid Build Coastguard Worker!37 = !{!38, !38, i64 0}
318*9880d681SAndroid Build Coastguard Worker!38 = !{!"short", !5, i64 0}
319*9880d681SAndroid Build Coastguard Worker!39 = !{i8 0, i8 2}
320*9880d681SAndroid Build Coastguard Worker!40 = !{i64 0, i64 8, !41, i64 8, i64 8, !11}
321*9880d681SAndroid Build Coastguard Worker!41 = !{!8, !8, i64 0}
322*9880d681SAndroid Build Coastguard Worker!42 = !{!43, !8, i64 16}
323*9880d681SAndroid Build Coastguard Worker!43 = !{!"_ZTSN4llvm15SmallVectorBaseE", !8, i64 0, !8, i64 8, !8, i64 16}
324*9880d681SAndroid Build Coastguard Worker!44 = !{!43, !8, i64 8}
325*9880d681SAndroid Build Coastguard Worker!45 = !{!43, !8, i64 0}
326*9880d681SAndroid Build Coastguard Worker!46 = !{!4, !4, i64 0}
327*9880d681SAndroid Build Coastguard Worker!47 = !{!48, !16, i64 500}
328*9880d681SAndroid Build Coastguard Worker!48 = !{!"_ZTSN5clang6format21BreakableBlockCommentE", !49, i64 40, !51, i64 320, !53, i64 408, !4, i64 496, !16, i64 500, !7, i64 504}
329*9880d681SAndroid Build Coastguard Worker!49 = !{!"_ZTSN4llvm11SmallVectorINS_9StringRefELj16EEE", !50, i64 40}
330*9880d681SAndroid Build Coastguard Worker!50 = !{!"_ZTSN4llvm18SmallVectorStorageINS_9StringRefELj16EEE", !5, i64 0}
331*9880d681SAndroid Build Coastguard Worker!51 = !{!"_ZTSN4llvm11SmallVectorIjLj16EEE", !52, i64 28}
332*9880d681SAndroid Build Coastguard Worker!52 = !{!"_ZTSN4llvm18SmallVectorStorageIjLj16EEE", !5, i64 0}
333*9880d681SAndroid Build Coastguard Worker!53 = !{!"_ZTSN4llvm11SmallVectorIiLj16EEE", !54, i64 28}
334*9880d681SAndroid Build Coastguard Worker!54 = !{!"_ZTSN4llvm18SmallVectorStorageIiLj16EEE", !5, i64 0}
335*9880d681SAndroid Build Coastguard Worker!55 = !{!48, !4, i64 496}
336