diff options
-rw-r--r-- | llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 3 | ||||
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/cfi.ll | 4 | ||||
-rw-r--r-- | llvm/test/Transforms/LowerTypeTests/function-disjoint.ll | 8 | ||||
-rw-r--r-- | llvm/test/Transforms/LowerTypeTests/function-ext.ll | 1 | ||||
-rw-r--r-- | llvm/test/Transforms/LowerTypeTests/function.ll | 6 |
5 files changed, 12 insertions, 10 deletions
diff --git a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp index 1d7ad8bc5a4..45fe568bccf 100644 --- a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp +++ b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp @@ -822,6 +822,7 @@ void LowerTypeTests::buildBitSetsFromFunctionsWASM( // Build consecutive monotonic integer ranges for each call target set DenseMap<GlobalObject *, uint64_t> GlobalLayout; + for (Function *F : Functions) { // Skip functions that are not address taken, to avoid bloating the table if (!F->hasAddressTaken()) @@ -1049,7 +1050,7 @@ static void init(LowerTypeTests *LTT, Module &M) { LTT->Int64Ty = Type::getInt64Ty(M.getContext()); LTT->IntPtrTy = DL.getIntPtrType(M.getContext(), 0); LTT->TypeTestCallSites.clear(); - LTT->IndirectIndex = 0; + LTT->IndirectIndex = 1; } bool LowerTypeTests::runOnModule(Module &M) { diff --git a/llvm/test/CodeGen/WebAssembly/cfi.ll b/llvm/test/CodeGen/WebAssembly/cfi.ll index 3cbc65e3f25..e5664ba73a0 100644 --- a/llvm/test/CodeGen/WebAssembly/cfi.ll +++ b/llvm/test/CodeGen/WebAssembly/cfi.ll @@ -14,13 +14,13 @@ define void @h() !type !0 { } ; CHECK-LABEL: f: -; CHECK: .indidx 0 +; CHECK: .indidx 1 define void @f() !type !0 { ret void } ; CHECK-LABEL: g: -; CHECK: .indidx 1 +; CHECK: .indidx 2 define void @g() !type !1 { ret void } diff --git a/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll b/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll index ebf8dcbba14..a5455a953fb 100644 --- a/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll +++ b/llvm/test/Transforms/LowerTypeTests/function-disjoint.ll @@ -32,14 +32,14 @@ declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone define i1 @foo(i8* %p) { ; X64: icmp eq i64 {{.*}}, ptrtoint ([1 x <{ i8, i32, i8, i8, i8 }>]* @[[JT0]] to i64) - ; WASM32: icmp eq i64 {{.*}}, 0 + ; WASM32: icmp eq i64 {{.*}}, 1 %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1") ; X64: icmp eq i64 {{.*}}, ptrtoint ([1 x <{ i8, i32, i8, i8, i8 }>]* @[[JT1]] to i64) - ; WASM32: icmp eq i64 {{.*}}, 1 + ; WASM32: icmp eq i64 {{.*}}, 2 %y = call i1 @llvm.type.test(i8* %p, metadata !"typeid2") %z = add i1 %x, %y ret i1 %z } -; WASM32: ![[I0]] = !{i64 0} -; WASM32: ![[I1]] = !{i64 1} +; WASM32: ![[I0]] = !{i64 1} +; WASM32: ![[I1]] = !{i64 2} diff --git a/llvm/test/Transforms/LowerTypeTests/function-ext.ll b/llvm/test/Transforms/LowerTypeTests/function-ext.ll index ba4c41f72b8..2e9ab9dba62 100644 --- a/llvm/test/Transforms/LowerTypeTests/function-ext.ll +++ b/llvm/test/Transforms/LowerTypeTests/function-ext.ll @@ -22,3 +22,4 @@ declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone !0 = !{i64 0, !"void"} ; WASM-NOT: !{i64 0} +; WASM-NOT: !{i64 1} diff --git a/llvm/test/Transforms/LowerTypeTests/function.ll b/llvm/test/Transforms/LowerTypeTests/function.ll index 120bb9d1ba0..a9ef84acff6 100644 --- a/llvm/test/Transforms/LowerTypeTests/function.ll +++ b/llvm/test/Transforms/LowerTypeTests/function.ll @@ -30,11 +30,11 @@ declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone define i1 @foo(i8* %p) { ; X64: sub i64 {{.*}}, ptrtoint ([2 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to i64) - ; WASM32: sub i64 {{.*}}, 0 + ; WASM32: sub i64 {{.*}}, 1 ; WASM32: icmp ult i64 {{.*}}, 2 %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1") ret i1 %x } -; WASM32: ![[I0]] = !{i64 0} -; WASM32: ![[I1]] = !{i64 1} +; WASM32: ![[I0]] = !{i64 1} +; WASM32: ![[I1]] = !{i64 2} |