1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/Bitcode/upgrade-clang-arc-use.ll
Steven Wu ade1a02eb2 [Bitcode] Fix bitcode compatibility issue with clang.arc.use intrinsic
Summary:
In r349534, objc arc implementation is switched to use intrinsics and at
the same time, clang.arc.use is renamed to llvm.objc.clang.arc.use to
make the naming more consistent. The side-effect of that is llvm no
longer recognize it as intrinsics and codegen external references to
it instead.

Rather than upgrade the old intrinsics name to the new one and wait for
the arc-contract pass to remove it, simply remove it in the bitcode
upgrader.

rdar://problem/48607063

Reviewers: pete, ahatanak, erik.pilkington, dexonsmith

Reviewed By: pete, dexonsmith

Subscribers: jkorous, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59112

llvm-svn: 355663
2019-03-08 05:27:53 +00:00

15 lines
333 B
LLVM

; Test upgrade of clang.arc.use by removing it.
; Bitcode input generated from llvm 6.0
; RUN: llvm-dis %s.bc -o - | FileCheck %s
%0 = type opaque
define void @foo() {
%1 = tail call %0* @foo0()
; CHECK-NOT: clang.arc.use
call void (...) @clang.arc.use(%0* %1)
ret void
}
declare %0* @foo0()
declare void @clang.arc.use(...)