xref: /llvm-project/llvm/test/Transforms/InstCombine/lib-call-exit.ll (revision 67fb7c34f11df03ac359571dd4d503a36e06275e)
1e65882feSNoah Goldstein; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 5
2e65882feSNoah Goldstein; RUN: opt < %s -passes=instcombine -S | FileCheck %s
3e65882feSNoah Goldstein
4e65882feSNoah Goldsteindeclare void @exit(i32)
5e65882feSNoah Goldsteindeclare void @_Exit(i32)
6e65882feSNoah Goldstein
7e65882feSNoah Goldsteindefine void @call_exit_0() {
8e65882feSNoah Goldstein; CHECK-LABEL: define void @call_exit_0() {
9e65882feSNoah Goldstein; CHECK-NEXT:    call void @exit(i32 0)
10e65882feSNoah Goldstein; CHECK-NEXT:    ret void
11e65882feSNoah Goldstein;
12e65882feSNoah Goldstein  call void @exit(i32 0)
13e65882feSNoah Goldstein  ret void
14e65882feSNoah Goldstein}
15e65882feSNoah Goldstein
16e65882feSNoah Goldsteindefine void @call_exit_1() {
17e65882feSNoah Goldstein; CHECK-LABEL: define void @call_exit_1() {
18*67fb7c34SNoah Goldstein; CHECK-NEXT:    call void @exit(i32 1) #[[ATTR0:[0-9]+]]
19e65882feSNoah Goldstein; CHECK-NEXT:    ret void
20e65882feSNoah Goldstein;
21e65882feSNoah Goldstein  call void @exit(i32 1)
22e65882feSNoah Goldstein  ret void
23e65882feSNoah Goldstein}
24e65882feSNoah Goldstein
25e65882feSNoah Goldsteindefine void @call__Exit_m1() {
26e65882feSNoah Goldstein; CHECK-LABEL: define void @call__Exit_m1() {
27*67fb7c34SNoah Goldstein; CHECK-NEXT:    call void @_Exit(i32 -1) #[[ATTR0]]
28e65882feSNoah Goldstein; CHECK-NEXT:    ret void
29e65882feSNoah Goldstein;
30e65882feSNoah Goldstein  call void @_Exit(i32 -1)
31e65882feSNoah Goldstein  ret void
32e65882feSNoah Goldstein}
33e65882feSNoah Goldstein
34e65882feSNoah Goldsteindefine void @call__Exit_N(i32 %N) {
35e65882feSNoah Goldstein; CHECK-LABEL: define void @call__Exit_N(
36e65882feSNoah Goldstein; CHECK-SAME: i32 [[N:%.*]]) {
37e65882feSNoah Goldstein; CHECK-NEXT:    call void @_Exit(i32 [[N]])
38e65882feSNoah Goldstein; CHECK-NEXT:    ret void
39e65882feSNoah Goldstein;
40e65882feSNoah Goldstein  call void @_Exit(i32 %N)
41e65882feSNoah Goldstein  ret void
42e65882feSNoah Goldstein}
43*67fb7c34SNoah Goldstein
44*67fb7c34SNoah Goldstein;.
45*67fb7c34SNoah Goldstein; CHECK: attributes #[[ATTR0]] = { cold }
46*67fb7c34SNoah Goldstein;.
47