69 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s | FileCheck %s3; RUN: llc < %s -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=FAST4 5target triple = "wasm32-unknown-unknown"6 7define void @return_void() {8; CHECK-LABEL: return_void:9; CHECK: .functype return_void () -> ()10; CHECK-NEXT: # %bb.0:11; CHECK-NEXT: # fallthrough-return12;13; FAST-LABEL: return_void:14; FAST: .functype return_void () -> ()15; FAST-NEXT: # %bb.0:16; FAST-NEXT: # fallthrough-return17 ret void18}19 20define void @return_void_twice(i32 %a) {21; CHECK-LABEL: return_void_twice:22; CHECK: .functype return_void_twice (i32) -> ()23; CHECK-NEXT: # %bb.0:24; CHECK-NEXT: block25; CHECK-NEXT: local.get 026; CHECK-NEXT: i32.eqz27; CHECK-NEXT: br_if 0 # 0: down to label028; CHECK-NEXT: # %bb.1: # %true29; CHECK-NEXT: i32.const 030; CHECK-NEXT: i32.const 031; CHECK-NEXT: i32.store 032; CHECK-NEXT: return33; CHECK-NEXT: .LBB1_2: # %false34; CHECK-NEXT: end_block # label0:35; CHECK-NEXT: i32.const 036; CHECK-NEXT: i32.const 137; CHECK-NEXT: i32.store 038; CHECK-NEXT: # fallthrough-return39;40; FAST-LABEL: return_void_twice:41; FAST: .functype return_void_twice (i32) -> ()42; FAST-NEXT: # %bb.0:43; FAST-NEXT: block44; FAST-NEXT: local.get 045; FAST-NEXT: i32.eqz46; FAST-NEXT: br_if 0 # 0: down to label047; FAST-NEXT: # %bb.1: # %true48; FAST-NEXT: i32.const 049; FAST-NEXT: i32.const 050; FAST-NEXT: i32.store 051; FAST-NEXT: return52; FAST-NEXT: .LBB1_2: # %false53; FAST-NEXT: end_block # label0:54; FAST-NEXT: i32.const 055; FAST-NEXT: i32.const 156; FAST-NEXT: i32.store 057; FAST-NEXT: # fallthrough-return58 %b = icmp ne i32 %a, 059 br i1 %b, label %true, label %false60 61true:62 store i32 0, ptr null63 ret void64 65false:66 store i32 1, ptr null67 ret void68}69