• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -instcombine -S %s | FileCheck %s
3
4; The swifterror value can only be loaded, stored or used as swifterror
5; argument. Make sure we do not try to turn the function bitcast into an
6; argument bitcast.
7define swiftcc void @spam(i32** swifterror %arg) {
8; CHECK-LABEL: @spam(
9; CHECK-NEXT:  bb:
10; CHECK-NEXT:    call swiftcc void bitcast (void (i64**)* @widget to void (i32**)*)(i32** swifterror [[ARG:%.*]])
11; CHECK-NEXT:    ret void
12;
13bb:
14  call swiftcc void bitcast (void (i64**)* @widget to void (i32**)*)(i32** swifterror %arg)
15  ret void
16}
17
18declare swiftcc void @widget(i64**)
19