-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
declare i8* @llvm.objc.retain(i8*)
declare i8* @llvm.objc.retainAutoreleasedReturnValue(i8*)
-; RUN: opt -S -objc-arc-apelim < %s | FileCheck %s
; RUN: opt -S -passes=objc-arc-apelim < %s | FileCheck %s
; rdar://10227311
-; RUN: opt -objc-arc -S < %s | FileCheck %s
; RUN: opt -aa-pipeline=basic-aa -passes=objc-arc -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
; rdar://9503416
; Detect loop boundaries and don't move retains and releases
-; RUN: opt -objc-arc -S %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S %s | FileCheck %s
%0 = type opaque
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
declare void @alterRefCount()
declare void @use(i8*)
-; RUN: opt -S -objc-arc-apelim < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc-apelim < %s | FileCheck %s
; See PR26774
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; CHECK-LABEL: define void @test0() {
-; RUN: opt -S -objc-arc-contract < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc-contract < %s | FileCheck %s
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
target triple = "i686--windows-msvc19.11.0"
-; RUN: opt -S < %s -objc-arc-expand -objc-arc-contract | FileCheck %s
+; RUN: opt -S < %s -passes=objc-arc-expand,objc-arc-contract | FileCheck %s
; Don't crash. Reproducer for a use_iterator bug from r203364.
; rdar://problem/16333235
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
-; RUN: opt -mtriple=i686-unknown-windows-msvc -objc-arc-contract -S -o - %s | FileCheck %s
+; RUN: opt -mtriple=i686-unknown-windows-msvc -passes=objc-arc-contract -S -o - %s | FileCheck %s
; Generated (and lightly modified and cleaned up) from the following source:
; id f();
-; RUN: opt -S -objc-arc-contract < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc-contract < %s | FileCheck %s
; CHECK-LABEL: define void @foo() {
; CHECK: %call = tail call i32* @qux()
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
declare i8* @llvm.objc.autoreleaseReturnValue(i8*)
declare i8* @foo1()
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; CHECK-LABEL: define void @test0() {
-; RUN: opt -mtriple=i686-unknown-windows-msvc -objc-arc-contract -S -o - %s | FileCheck %s
+; RUN: opt -mtriple=i686-unknown-windows-msvc -passes=objc-arc-contract -S -o - %s | FileCheck %s
declare void @f()
declare i32 @__CxxFrameHandler3(...)
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; CHECK: tail call void @llvm.objc.storeStrong(i8**
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; rdar://9511608
%0 = type opaque
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
; rdar://10210274
%0 = type opaque
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
; rdar://11744105
; bugzilla://14584
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
; rdar://11229925
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
-; RUN: opt -objc-arc-expand -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-expand -S < %s | FileCheck %s
; RUN: opt -passes=objc-arc-expand -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -mtriple x86_64-unknown-windows-msvc -objc-arc -S -o - %s | FileCheck %s
+; RUN: opt -mtriple x86_64-unknown-windows-msvc -passes=objc-arc -S -o - %s | FileCheck %s
; bool g();
; id h();
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
%0 = type opaque
%struct.__NSConstantString_tag = type { i32*, i32, i8*, i64 }
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
; This file makes sure that clang.arc.used is removed even if no other ARC
; interesting calls are in the module.
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -mtriple x86_64-unknown-windows-msvc -objc-arc -o - %s | llvm-dis -o - - | FileCheck %s
+; RUN: opt -mtriple x86_64-unknown-windows-msvc -passes=objc-arc -o - %s | llvm-dis -o - - | FileCheck %s
target triple = "x86_64-unknown-windows-msvc"
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
declare i8* @llvm.objc.retain(i8*)
declare void @llvm.objc.release(i8*)
-; RUN: opt -S -objc-arc-contract < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc-contract < %s | FileCheck %s
; The optimizer should be able to move the autorelease past a control triangle
; and various scary looking things and fold it into an objc_retainAutorelease.
-; RUN: opt -S -objc-arc -objc-arc-contract < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc,objc-arc-contract < %s | FileCheck %s
; The optimizer should be able to move the autorelease past two phi nodes
; and fold it with the release in bb65.
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
%struct.__objcFastEnumerationState = type { i64, i8**, i64*, [5 x i64] }
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
target triple = "i686--windows-msvc"
-; RUN: opt -objc-arc -S < %s | FileCheck -check-prefix=ENABLE -check-prefix=CHECK %s
-; RUN: opt -objc-arc -arc-opt-max-ptr-states=1 -S < %s | FileCheck -check-prefix=DISABLE -check-prefix=CHECK %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck -check-prefix=ENABLE -check-prefix=CHECK %s
+; RUN: opt -passes=objc-arc -arc-opt-max-ptr-states=1 -S < %s | FileCheck -check-prefix=DISABLE -check-prefix=CHECK %s
@g0 = common global i8* null, align 8
-; RUN: opt -objc-arc -S < %s
+; RUN: opt -passes=objc-arc -S < %s
; rdar://12277446
; rdar://12480535
; rdar://14590914
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
; Don't hoist @llvm.objc.release past a use of its pointer, even
; if the use has function type, because clang uses function types
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
declare void @use_pointer(i8*)
declare i8* @returner()
-; RUN: opt -disable-output -objc-arc-contract < %s
+; RUN: opt -disable-output -passes=objc-arc-contract < %s
; test that we don't crash on unreachable code
%2 = type opaque
; Make sure this succeeds without hitting an assertion and the output is deterministic
; RUN: mkdir -p %t
-; RUN: opt -objc-arc %s -S -o %t/out1.ll
-; RUN: opt -objc-arc %s -S -o %t/out2.ll
+; RUN: opt -passes=objc-arc %s -S -o %t/out1.ll
+; RUN: opt -passes=objc-arc %s -S -o %t/out2.ll
; RUN: diff -u %t/out1.ll %t/out2.ll
%0 = type opaque
-; RUN: opt -S -aa-pipeline=objc-arc-aa -gvn < %s | FileCheck %s
+; RUN: opt -S -aa-pipeline=objc-arc-aa,basic-aa -passes=gvn < %s | FileCheck %s
; rdar://10050579
; objc_retainBlock stores into %repeater so the load from after the
-; RUN: opt -S -objc-arc -objc-arc-contract < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc,objc-arc-contract < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
declare i8* @llvm.objc.unretainedObject(i8*)
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
declare i8* @llvm.objc.loadWeak(i8**)
declare i8* @llvm.objc.loadWeakRetained(i8**)
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
target datalayout = "e-p:64:64:64"
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
; Handle a retain+release pair entirely contained within a split loop backedge.
; rdar://11256239
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
declare void @llvm.objc.release(i8* %x)
declare i8* @llvm.objc.retain(i8* %x)
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
; Generated by compiling:
;
-; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
declare i8* @llvm.objc.initWeak(i8**, i8*)
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin11.0.0"
-; RUN: opt -S -objc-arc < %s | FileCheck %s
+; RUN: opt -S -passes=objc-arc < %s | FileCheck %s
; rdar://11434915
; Delete the weak calls and replace them with just the net retain.
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt -objc-arc -S < %s | FileCheck %s
+; RUN: opt -passes=objc-arc -S < %s | FileCheck %s
declare i8* @llvm.objc.initWeak(i8**, i8*)
declare i8* @llvm.objc.storeWeak(i8**, i8*)