This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / Linker / partial-type-refinement.ll
blobb995f11533fea5f4587dc74766a58c4608b9138a
1 ; RUN: llvm-link %s %p/partial-type-refinement-link.ll -S | FileCheck %s
2 ; PR4954
4 ; CHECK: load %PI** getelementptr inbounds (%"RegisterP<LowerArrayLength>"* @_ZN3mvmL1XE, i64 0, i32 0, i32 6, i32 0, i32 0, i32 0), align 16
6 %AnalysisResolver = type { i8, %PMDataManager* }
7 %"DenseMap<P*,AU*>" = type { i64, %"pair<P*,AU*>"*, i64, i64 }
8 %PMDataManager = type { i8, %PMTopLevelManager*, i8, i8, i8, i8, i8, i64, i8 }
9 %PMTopLevelManager = type { i8, i8, i8, i8, i8, i8, i8, i8, %"DenseMap<P*,AU*>" }
10 %P = type { i8, %AnalysisResolver*, i64 }
11 %PI = type { i8, i8, i8, i8, i8, i8, %"vector<const PI*>", %P* }
12 %"RegisterP<LowerArrayLength>" = type { %PI }
13 %"_V_base<const PI*>" = type { %"_V_base<const PI*>::_V_impl" }
14 %"_V_base<const PI*>::_V_impl" = type { %PI*, i8, i8 }
15 %"pair<P*,AU*>" = type opaque
16 %"vector<const PI*>" = type { %"_V_base<const PI*>" }
18 @_ZN3mvmL1XE = external global %"RegisterP<LowerArrayLength>"
20 define void @__tcf_0() nounwind {
21 entry:
22   %0 = load %PI** getelementptr inbounds (%"RegisterP<LowerArrayLength>"* @_ZN3mvmL1XE, i64 0, i32 0, i32 6, i32 0, i32 0, i32 0), align 16
23   ret void