llvm.org GIT mirror llvm / e16224d
[WebAssembly] Error when using wasm64 for ISel Summary: 64-bit WebAssembly (wasm64) is not specified and not supported in the WebAssembly backend. We do have support for it in clang, however, and we would like to keep that support because we expect wasm64 to be specified and supported in the future. For now add an error when trying to use wasm64 from the backend to minimize user confusion from unexplained crashes. Reviewers: aheejin, dschuff, sunfish Subscribers: sbc100, jgravelle-google, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68254 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373493 91177308-0d34-0410-b5e6-96231b3b80d8 Thomas Lively 1 year, 18 days ago
2 changed file(s) with 11 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
5353
5454 ForCodeSize = MF.getFunction().hasOptSize();
5555 Subtarget = &MF.getSubtarget();
56
57 // Wasm64 is not fully supported right now (and is not specified)
58 if (Subtarget->hasAddr64())
59 report_fatal_error(
60 "64-bit WebAssembly (wasm64) is not currently supported");
61
5662 return SelectionDAGISel::runOnMachineFunction(MF);
5763 }
5864
0 ; This tests that llc accepts all valid WebAssembly CPUs.
11
22 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm32-unknown-unknown -mcpu=mvp 2>&1 | FileCheck %s
3 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=mvp 2>&1 | FileCheck %s
3 ; RUN: not llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=mvp 2>&1 | FileCheck %s --check-prefix=WASM64
44 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm32-unknown-unknown -mcpu=generic 2>&1 | FileCheck %s
5 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=generic 2>&1 | FileCheck %s
5 ; RUN: not llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=generic 2>&1 | FileCheck %s --check-prefix=WASM64
66 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm32-unknown-unknown -mcpu=bleeding-edge 2>&1 | FileCheck %s
7 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=bleeding-edge 2>&1 | FileCheck %s
7 ; RUN: not llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=bleeding-edge 2>&1 | FileCheck %s --check-prefix=WASM64
88 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm32-unknown-unknown -mcpu=invalidcpu 2>&1 | FileCheck %s --check-prefix=INVALID
9 ; RUN: llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=invalidcpu 2>&1 | FileCheck %s --check-prefix=INVALID
9 ; RUN: not llc < %s -asm-verbose=false -mtriple=wasm64-unknown-unknown-wasm -mcpu=invalidcpu 2>&1 | FileCheck %s --check-prefix=WASM64
1010
1111 ; CHECK-NOT: is not a recognized processor for this target
1212 ; INVALID: {{.+}} is not a recognized processor for this target
13 ; WASM64: 64-bit WebAssembly (wasm64) is not currently supported
1314
1415 define i32 @f(i32 %i_like_the_web) {
1516 ret i32 %i_like_the_web