hanchenye-llvm-project/clang/test/CodeGenObjC
Akira Hatanaka 627586b850 Add an option to disable tail-call optimization for escaping blocks.
This makes it easier to debug crashes and hangs in block functions since
users can easily find out where the block is called from. The option
doesn't disable tail-calls from non-escaping blocks since non-escaping
blocks are not as hard to debug as escaping blocks.

rdar://problem/35758207

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

llvm-svn: 326530
2018-03-02 01:53:15 +00:00
..
Inputs
2007-04-03-ObjcEH.m
2007-05-02-Strong.m
2007-10-18-ProDescriptor.m
2007-10-23-GC-WriteBarrier.m
2008-08-25-incompatible-cond-expr.m
2008-10-3-EhValue.m
2008-10-23-invalid-icmp.m
2008-11-12-Metadata.m
2008-11-24-ConstCFStrings.m
2008-11-25-Blocks.m
2009-01-21-invalid-debug-info.m
2009-01-26-WriteBarrier-2.m
2009-02-05-VolatileProp.m
2009-08-05-utf16.m test: add explicit targets for some tests 2016-05-30 16:36:48 +00:00
2010-02-01-utf16-with-null.m CodeGen: try harder to make the CFString structure RW 2016-07-29 19:15:51 +00:00
2010-02-09-DbgSelf.m
2010-02-15-Dbg-MethodStart.m
2010-02-23-DbgInheritance.m
2010-03-17-StructRef.m
2011-03-08-IVarLookup.m
NSFastEnumeration.m CodeGen: correct arguments for NSFastEnumeration 2017-09-08 23:41:17 +00:00
arc-arm.m [ObjC] Use consistent comment style in inline asm 2017-08-21 09:54:46 +00:00
arc-block-copy-escape.m
arc-blocks.m [CodeGen][ObjC] Emit @objc_retain at -O0 for variables captured by 2017-05-09 01:20:05 +00:00
arc-bridged-cast.m [Sema][ObjC] Preserve syntactic sugar when removing 2017-10-10 01:24:33 +00:00
arc-captured-32bit-block-var-layout-2.m
arc-captured-32bit-block-var-layout.m
arc-captured-block-var-inlined-layout.m
arc-captured-block-var-layout.m
arc-compound-stmt.m
arc-cond-stmt.m
arc-exceptions.m
arc-foreach.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
arc-i386.m
arc-ivar-layout.m
arc-linetable-autorelease.m Only enable AddDiscriminator pass when -fdebug-info-for-profiling is true 2017-02-21 20:36:21 +00:00
arc-linetable.m
arc-literals.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-loadweakretained-release.m
arc-no-arc-exceptions.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-no-runtime.m
arc-precise-lifetime.m Update for lifetime intrinsic signature change 2017-04-10 20:18:45 +00:00
arc-property.m [ObjC] Pick a 'readwrite' property when synthesizing ambiguous 2017-07-13 11:06:22 +00:00
arc-related-result-type.m
arc-ternary-op.m Revert r300287. 2017-04-14 01:00:03 +00:00
arc-unbridged-cast.m
arc-unopt.m
arc-unoptimized-byref-var.m
arc-unsafeclaim.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-weak-property.m
arc-weak.m
arc-with-atthrow.m
arc.ll
arc.m Recommit rL323952: [DebugInfo] Enable debug information for C99 VLA types. 2018-02-03 13:55:59 +00:00
arm-atomic-scalar-setter-getter.m
arm64-int32-ivar.m
assign.m
atomic-aggregate-property.m
attr-availability.m
attr-callconv.m Update use of llvm::CallingConv:X86_64_Win64 after LLVM commit r308208 2017-07-17 20:05:56 +00:00
attr-exception.m [CodeGen] Compute the objc EH vtable address point using inbounds GEP. 2017-11-17 19:46:47 +00:00
attr-minsize.m
attr-noreturn.m
attr-objc-runtime-visible.m [Objective-C] Introduce objc_runtime_visible attribute. 2016-04-01 23:23:52 +00:00
attr-strong.c
auto-property-synthesize-protocol.m
autorelease.m
availability-cf-link-guard.m IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
availability-check.m [ObjC][CodeGen] CodeGen support for @available. 2017-02-23 21:08:08 +00:00
availability-dso-local.m Add a testcase for PR36268. 2018-02-08 01:17:26 +00:00
bitfield-1.m
bitfield-access.m
bitfield-gnu.m
bitfield-ivar-metadata.m
bitfield-ivar-offsets.m
bitfield_encoding.m
block-6.m
block-byref-debuginfo.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
block-byref-variable-layout.m
block-over-align.m
block-ptr-type-crash.m [CodeGen][ObjC] Avoid asserting on block pointer types in 2017-02-01 17:37:28 +00:00
block-var-layout.m
blocks-1.m
blocks-2.m
blocks-3.m
blocks-4.m
blocks-5.m
blocks-ivar-debug.m
blocks.m
boxing.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
builtin-memfns.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
builtins.m
catch-lexical-block.m
category-class.m
category-super-class-meth.m
class-getter-dotsyntax.m
class-type.m
compatibility-alias.m
complex-double-abi.m
complex-property.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
compound-literal-property-access.m
constant-string-class-1.m
constant-string-class.m
constant-strings.m test: add explicit targets for some tests 2016-05-30 16:36:48 +00:00
continuation-class.m
deadcode_strip_used_var.m
debug-info-block-helper.m
debug-info-block-line.m
debug-info-block-type.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-blocks.m [CGBlocks] Improve line info in backtraces containing *_helper_block 2017-10-26 21:27:24 +00:00
debug-info-class-extension.m
debug-info-class-extension2.m
debug-info-class-extension3.m
debug-info-crash-2.m
debug-info-crash.m
debug-info-default-synth-ivar.m
debug-info-fwddecl.m
debug-info-getter-name.m
debug-info-id-with-protocol.m
debug-info-impl.m
debug-info-instancetype.m
debug-info-ivars-extension.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-ivars-indirect.m
debug-info-ivars-private.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-ivars.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-lifetime-crash.m
debug-info-linkagename.m
debug-info-nested-blocks.m
debug-info-nodebug.m Allow 'nodebug' on local variables. 2016-06-16 00:42:36 +00:00
debug-info-property-accessors.m
debug-info-property-class-extension.m
debug-info-property.m
debug-info-property2.m
debug-info-property3.m
debug-info-property4.m
debug-info-property5.m
debug-info-pubtypes.m
debug-info-selector.m
debug-info-self.m
debug-info-static-var.m
debug-info-synthesis.m
debug-info-variadic-method.m
debug-property-synth.m Update to match LLVM changes for PR27284. 2016-04-15 15:55:45 +00:00
debuginfo-properties.m
default-property-synthesis.m
designated-initializers.m
disable-tail-call-escaping-block.m Add an option to disable tail-call optimization for escaping blocks. 2018-03-02 01:53:15 +00:00
dllstorage.m Start setting dllimport/dllexport in setGVProperties. 2018-03-01 00:35:47 +00:00
dot-syntax-1.m
dot-syntax-2.m
dot-syntax.m
empty-collection-literals.m [ObjC] Mark loads from __NSArray0 and __NSDictionary0 as invariant.load. 2017-04-17 15:21:55 +00:00
encode-cstyle-method.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
encode-test-2.m
encode-test-3.m
encode-test-4.m
encode-test-5.m
encode-test-6.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
encode-test.m Handle ObjCEncodeExpr in extractStringLiteralCharacter. 2017-01-31 02:31:39 +00:00
exceptions-asm-attribute.m tests: silence -Wobjc-root-class warnings 2017-06-03 16:18:13 +00:00
exceptions-nonfragile.m
exceptions.m Update for lifetime intrinsic signature change 2017-04-10 20:18:45 +00:00
extended-block-signature-encode.m
externally-initialized-selectors.m
for-in.m
forward-class-impl-metadata.m
forward-decl-param.m
forward-protocol-metadata-symbols.m CodeGen: use `llvm.used` for ObjC protocols 2018-01-23 19:35:51 +00:00
fp2ret.m
fpret.m
fragile-arc.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
function-decay.m
gc-weak-attribute.m
gc.m
getter-property-mismatch.m
getter-property-type-mismatch.m
gnu-exceptions.m IRGen: Add optnone attribute on function during O0 2017-05-29 05:38:20 +00:00
hidden-visibility.m test: add missing triple to test 2016-07-17 22:54:42 +00:00
hidden.m
id-isa-codegen.m
illegal-UTF8.m
image-info.m CodeGen: fix section names for different file formats 2017-06-03 16:18:09 +00:00
implicit-objc_msgSend.m
implicit-property.m
instance-method-metadata.m
interface-layout-64.m
interface.m
ivar-base-as-invariant-load.m
ivar-invariant.m
ivar-layout-64-bitfields.m
ivar-layout-64.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
ivar-layout-array0-struct.m
ivar-layout-flexible-array.m [CodeGen] Add support for IncompleteArrayType in Obj-C ivars. 2017-10-27 00:56:23 +00:00
ivar-layout-no-optimize.m
ivar-layout-nonfragile-abi2.m
ivar-type-encoding.m clang/test/CodeGenObjC/ivar-type-encoding.m: Tweak to satisfy -m32. 2017-06-27 07:40:47 +00:00
ivars.m
layout-bitfield-crash.m
link-errors.m
local-static-block.m [CodeGen][ObjC] Build the global block structure before emitting the 2017-09-22 21:32:06 +00:00
mangle-blocks.m [CodeGen][ObjC] Build the global block structure before emitting the 2017-09-22 21:32:06 +00:00
message-arrays.m
messages-2.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
messages.m
metadata-class-properties.m ObjC Class Property: don't emit class properties on old deployment targets. 2016-04-19 19:05:03 +00:00
metadata-symbols-32.m Switch CGObjCMac to use ConstantInitBuilder. Whew. 2016-11-30 02:39:18 +00:00
metadata-symbols-64.m CodeGen: fix section names for different file formats 2017-06-03 16:18:09 +00:00
metadata_symbols.m tests: silence -Wobjc-root-class warnings 2017-06-03 16:18:13 +00:00
misc-atomic-property.m
mrc-weak.m
mrr-autorelease.m
mrr-captured-block-var-inlined-layout.m
nested-rethrow.m
newproperty-nested-synthesis-1.m
next-objc-dispatch.m
no-category-class.m
no-sanitize.m [Blocks] Inherit sanitizer options from parent decl 2017-12-08 02:47:58 +00:00
no-vararg-messaging.m
noescape.m Add test cases that weren't committed in r313945. 2017-09-22 01:54:36 +00:00
non-lazy-classes.m tests: silence -Wobjc-root-class warnings 2017-06-03 16:18:13 +00:00
nonlazy-msgSend.m
nontrivial-c-struct-exception.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
nontrivial-c-struct-func-name-collision.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
ns-constant-strings.m
ns_consume_null_check.m
nsvalue-objc-boxable-ios-arc.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
nsvalue-objc-boxable-ios.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
nsvalue-objc-boxable-mac-arc.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
nsvalue-objc-boxable-mac.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
null-objc-empty-vtable.m
nullptr-assert.m Add a lit test for PR31374 2016-12-19 02:55:53 +00:00
objc-align.m
objc-arc-container-subscripting.m
objc-asm-attribute-neg-test.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
objc-asm-attribute-test.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
objc-assign-ivar.m
objc-container-subscripting-1.m
objc-container-subscripting.m
objc-dictionary-literal.m
objc-fixed-enum.m
objc-gc-aggr-assign.m
objc-literal-debugger-test.m
objc-literal-tests.m Cleanup the handling of noinline function attributes, -fno-inline, 2016-12-23 01:24:49 +00:00
objc-read-weak-byref.m
objc2-assign-global.m
objc2-ivar-assign.m
objc2-legacy-dispatch.m
objc2-new-gc-api-strongcast.m
objc2-no-strong-cast.m
objc2-no-write-barrier.m
objc2-nonfragile-abi-impl.m
objc2-property-encode.m
objc2-protocol-enc.m
objc2-protocol-metadata.m
objc2-retain-codegen.m
objc2-strong-cast-1.m
objc2-strong-cast-block-import.m
objc2-strong-cast.m
objc2-weak-assign.m
objc2-weak-block-call.m
objc2-weak-compare.m
objc2-weak-import-attribute.m
objc2-weak-ivar-debug.m
objc2-weak-ivar.m
objc2-write-barrier-2.m
objc2-write-barrier-3.m
objc2-write-barrier-4.m
objc2-write-barrier-5.m
objc2-write-barrier.m
objc_copyStruct.m CodeGen: make the type match the comment for a libcall 2017-06-17 17:30:31 +00:00
object-incr-decr-1.m
objfw.m
optimize-ivar-offset-load.m
optimized-setter-ios-device.m
optimized-setter.m
os_log.m Fix one more check string after r315045. 2017-10-06 08:19:31 +00:00
overloadable.m
parameterized_classes.m [CodeGen] Fix assertion failure in EmitCallArg. 2017-06-28 00:42:48 +00:00
predefined-expr.m
private-extern-selector-reference.m
prop-metadata-gnu.m
property-aggregate.m
property-agrr-getter.m
property-array-type.m
property-atomic-bool.m [ObjC] Remove _Atomic from return type and parameter type of 2016-05-26 00:37:30 +00:00
property-category-impl.m
property-complex.m
property-dbg.m
property-getter-dot-syntax.m
property-incr-decr-1.m
property-list-in-class.m
property-list-in-extension.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
property-ref-cast-to-void.m
property-section-attribute.m
property-setter-attr.m
property-type-mismatch.m
property.m
protocol-comdat.m CodeGen: handle missed case of COMDAT handling 2017-06-29 00:54:44 +00:00
protocol-in-extended-class.m
protocol-property-synth.m
protocols-lazy.m
protocols.m
rdr-6732143-dangling-block-reference.m
related-result-type.m
reorder-synthesized-ivars.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
return-objc-object.mm
runtime-abi-match.m test: attempt to repair SCEI buildbots 2016-10-13 20:10:22 +00:00
runtime-fns.m
section-name.m CodeGen: be more conservative about setting section 2016-10-25 21:43:28 +00:00
sections.m CodeGen: fix section names for different file formats 2017-06-03 16:18:09 +00:00
sel-as-builtin-type.m
selector-ref-invariance.m
simplify-exceptions.mm
stand-alone-implementation.m
stret-1.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
stret-lifetime.m [objc] Don't require null-check and don't emit memset when result is ignored for struct-returning method calls [clang part] 2017-06-30 16:28:15 +00:00
stret.m
stret_lookup.m
strong-in-c-struct.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
super-classmethod-category.m
super-dotsyntax-property.m
super-dotsyntax-struct-property.m
super-message-fragileabi.m
synchronized.m
synthesize_ivar-cont-class.m
synthesize_ivar.m
tentative-cfconstantstring.m CodeGen: try harder to make the CFString structure RW 2016-07-29 19:15:51 +00:00
terminate.m
try.m
ubsan-array-bounds.m [ubsan] Disable bounds-check for flexible array ivars 2016-10-04 20:36:04 +00:00
ubsan-bool.m Retry: [ubsan] Detect UB loads from bitfields 2017-03-09 16:06:27 +00:00
ubsan-nonnull-and-nullability.m [ubsan] Improve diagnostics for return value checks (clang) 2017-06-23 21:32:38 +00:00
ubsan-nonnull.m [ubsan] Extend the nonnull arg check to ObjC 2017-03-06 05:28:22 +00:00
ubsan-nullability.m [ubsan] Improve diagnostics for return value checks (clang) 2017-06-23 21:32:38 +00:00
undefined-protocol.m
undefined-protocol2.m
unname-bf-metadata.m
unoptimized-setter.m
unqual-copy-restore.m [ARC] Ignore qualifiers in copy-restore expressions 2016-10-03 15:29:22 +00:00
variadic-sends.m
weak-metaclass-visibility.m
x86_64-struct-return-gc.m