// CHECK:   checked_cast_addr_br take_always P in [[COPY]] : $*P to S in [[TMP]] : $*S, bb1, bb2
//   Success block.
// CHECK: bb1:
// CHECK:   [[T0:%.*]] = load [trivial] [[TMP]] : $*S
// CHECK:   [[T1:%.*]] = enum $Optional<S>, #Optional.some!enumelt, [[T0]] : $S
// CHECK:   dealloc_stack [[TMP]]
// CHECK:   br bb3([[T1]] : $Optional<S>)
//   Failure block.
// CHECK: bb2: