llvm-project/clang/test/CodeGenObjC
John McCall 2c91c3b7af Add the `objc_class_stub` attribute.
Swift requires certain classes to be not just initialized lazily on first
use, but actually allocated lazily using information that is only available
at runtime.  This is incompatible with ObjC class initialization, or at least
not efficiently compatible, because there is no meaningful class symbol
that can be put in a class-ref variable at load time.  This leaves ObjC
code unable to access such classes, which is undesirable.

objc_class_stub says that class references should be resolved by calling
a new ObjC runtime function with a pointer to a new "class stub" structure.
Non-ObjC compilers (like Swift) can simply emit this structure when ObjC
interop is required for a class that cannot be statically allocated,
then apply this attribute to the `@interface` in the generated ObjC header
for the class.

This attribute can be thought of as a generalization of the existing
`objc_runtime_visible` attribute which permits more efficient class
resolution as well as supporting the additon of categories to the class.
Subclassing these classes from ObjC is currently not allowed.

Patch by Slava Pestov!

llvm-svn: 362054
2019-05-30 04:09:01 +00:00
..
Inputs Check that a field is not annotated with attribute "unavailable" before 2018-03-13 23:37:51 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
2010-02-15-Dbg-MethodStart.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
2010-02-23-DbgInheritance.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-block-copy-escape.m Avoid needlessly copying a block to the heap when a block literal 2019-02-27 18:17:16 +00:00
arc-blocks.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-bridged-cast.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-captured-32bit-block-var-layout-2.m [CodeGen] Merge identical block descriptor global variables. 2018-08-17 15:46:07 +00:00
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 Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-foreach.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-i386.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-ivar-layout.m Fix the emission of ARC ivar layouts in the non-fragile Mac runtime. 2015-10-29 23:36:14 +00:00
arc-linetable-autorelease.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-linetable.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-literals.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-loadweakretained-release.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-no-arc-exceptions.m Distinguish `__block` variables that are captured by escaping blocks 2018-10-01 21:51:28 +00:00
arc-no-runtime.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-precise-lifetime.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-property.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-related-result-type.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-ternary-op.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc-unbridged-cast.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-unopt.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-unoptimized-byref-var.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-unsafeclaim.m [CodeGen][ObjC] Emit the retainRV marker as a module flag instead of 2019-04-10 06:20:23 +00:00
arc-weak-property.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-weak.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-with-atthrow.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
arc.ll Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +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-speculative-load-hardening.m [clang][slh] add Clang attr no_speculative_load_hardening 2019-01-18 17:20:46 +00:00
attr-strong.c
auto-property-synthesize-protocol.m
autorelease.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
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 Remove all uses of DIFlagBlockByrefStruct 2018-09-10 16:14:28 +00:00
block-byref-variable-layout.m
block-desc-str.m COMDAT-fold block descriptors. 2019-03-31 11:22:26 +00:00
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 Fix and stylize the emission of GC/ARC ivar and GC block layout strings. 2015-10-21 18:06:47 +00:00
blocks-1.m Distinguish `__block` variables that are captured by escaping blocks 2018-10-01 21:51:28 +00:00
blocks-2.m
blocks-3.m
blocks-4.m
blocks-5.m
blocks-ivar-debug.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
blocks.m [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe. 2018-07-26 16:51:21 +00:00
boxing.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
builtin-constant-p.m [CodeGen][ObjC] Fix assert on calling `__builtin_constant_p` with ObjC objects. 2019-02-08 23:02:13 +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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
category-class.m
category-super-class-meth.m
class-getter-dotsyntax.m
class-stubs.m Add the `objc_class_stub` attribute. 2019-05-30 04:09:01 +00:00
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-non-fragile-ivar-offset.m [CodeGenObjC] Use a constant value for non-fragile ivar offsets when possible 2019-01-17 18:18:53 +00:00
constant-string-class-1.m
constant-string-class.m
constant-strings.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
continuation-class.m
convert-messages-to-runtime-calls.m [CodeGenObjC] invoke objc_autorelease, objc_retain when necessary 2019-05-15 20:15:01 +00:00
deadcode_strip_used_var.m
debug-info-block-helper.m [CodeGen] Merge equivalent block copy/helper functions. 2018-08-10 15:09:24 +00:00
debug-info-block-line.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
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 [CodeGen] Revert commit https://reviews.llvm.org/rL342717 2018-09-24 18:24:18 +00:00
debug-info-category.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
debug-info-class-extension.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-class-extension2.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-class-extension3.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-crash-2.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-crash.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-default-synth-ivar.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-fwddecl.m
debug-info-getter-name.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-id-with-protocol.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-impl.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-instancetype.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-linkagename.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-nested-blocks.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-nodebug.m Allow 'nodebug' on local variables. 2016-06-16 00:42:36 +00:00
debug-info-property-accessors.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property-class-extension.m Fix debug info for Objective-C properties from class extensions after r251874 2015-12-04 19:14:14 +00:00
debug-info-property.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property2.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property3.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property4.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property5.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-pubtypes.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-selector.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-self.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-static-var.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-synthesis.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
debug-info-variadic-method.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-property-synth.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
debuginfo-properties.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
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 Fixed typos in tests: s/CHEKC/CHECK/ 2019-02-25 13:41:59 +00:00
dot-syntax-1.m
dot-syntax-2.m
dot-syntax.m
empty-collection-literals.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +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 [ObjC] Fix encoding of ObjC pointer types that are pointers to typedefs 2019-05-29 21:23:30 +00:00
encode-test.m [ObjC] Fix encoding of ObjC pointer types that are pointers to typedefs 2019-05-29 21:23:30 +00:00
exceptions-asm-attribute.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
exceptions-nonfragile.m
exceptions.m Re-commit r357452 (take 2): "SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)" 2019-05-28 12:19:38 +00:00
extended-block-signature-encode.m
extern-void-class-decl.m [CodeGen] Handle extern references to OBJC_CLASS_$_* 2018-10-12 17:22:10 +00:00
externally-initialized-selectors.m Specify target triple to fix the tests I committed in r360359 that are 2019-05-09 18:32:16 +00:00
externally-retained.m [ObjCARC] Add an new attribute, objc_externally_retained 2019-01-04 18:33:06 +00:00
for-in.m
forward-class-impl-metadata.m
forward-decl-param.m
forward-declare-protocol-gnu.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
forward-protocol-metadata-symbols.m Specify target triple to fix the tests I committed in r360359 that are 2019-05-09 18:32:16 +00:00
fp2ret.m
fpret.m
fragile-arc.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
function-decay.m
gc-weak-attribute.m
gc.m
getter-property-mismatch.m [opaque pointer types] Fix the CallInfo passed to EmitCall in some 2019-02-05 16:05:50 +00:00
getter-property-type-mismatch.m
gnu-deterministic-selectors.m [gnu-objc] Make selector order deterministic. 2018-08-14 10:05:25 +00:00
gnu-empty-protocol-v3.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
gnu-exceptions.m IRGen: Add optnone attribute on function during O0 2017-05-29 05:38:20 +00:00
gnu-init.m Re-land r359250, [COFF] Statically link certain runtime library functions 2019-04-29 23:05:47 +00:00
gnustep2-category-protocol.m Fixed typos in tests: s/CHEKC/CHECK/ 2019-02-25 13:41:59 +00:00
gnustep2-category.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
gnustep2-class.m NFC - Fix typo in test/CodeGenObjC/gnustep2-class.m 2018-07-04 11:26:09 +00:00
gnustep2-ivar-offset.m [objc-gnustep] Fix encoding of ivar size for _Bool. 2019-02-03 15:05:52 +00:00
gnustep2-proto.m Add Windows support for the GNUstep Objective-C ABI V2. 2018-08-10 12:53:13 +00:00
hidden-visibility.m [CodeGen][ObjC] Remove the leading 'l' from symbols for protocol 2019-03-14 15:17:37 +00:00
hidden.m
id-isa-codegen.m
illegal-UTF8.m The 'CodeGenObjC/illegal-UTF8.m' get failed with Clang built with 32-bit targets only (as example ARM-only) with the following error: 2019-05-06 03:30:09 +00:00
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 [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
interface-layout-64.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
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 Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
ivars.m
layout-bitfield-crash.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
link-errors.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
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 [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
metadata-symbols-32.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
metadata-symbols-64.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
metadata_symbols.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
misc-atomic-property.m
mrc-weak.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
mrr-autorelease.m
mrr-captured-block-var-inlined-layout.m Define weak and __weak to mean ARC-style weak references, even in MRC. 2015-10-22 18:38:17 +00:00
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 Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
non-lazy-classes.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
nonlazy-msgSend.m
nontrivial-c-struct-exception.m [ObjC] Allow declaring __weak pointer fields in C structs in ARC. 2018-03-19 17:38:40 +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
nontrivial-c-struct-within-struct-name.m [CodeGen] Add additional mangling for struct members of non trivial structs 2019-03-28 17:01:20 +00:00
ns-constant-strings.m
ns_consume_null_check.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
nsvalue-objc-boxable-ios-arc.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +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 Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +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-alloc-init.m [CodeGenObjC] invoke objc_autorelease, objc_retain when necessary 2019-05-15 20:15:01 +00:00
objc-arc-container-subscripting.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +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 [CodeGen] Ignore OpaqueValueExprs that are unique references to their 2018-03-20 01:47:58 +00:00
objc-container-subscripting.m
objc-dictionary-literal.m
objc-fixed-enum.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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-non-trivial-struct-nrvo.m Generalize NRVO to cover C structs. 2018-03-29 17:56:24 +00:00
objc-read-weak-byref.m
objc-runtime-name.m [ObjC] Use the name specified by objc_runtime_name instead of the class 2018-04-03 22:50:16 +00:00
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 Class Property: generate metadata for class properties in protocols. 2016-01-29 23:46:55 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 [CodeGenObjC] Use a constant value for non-fragile ivar offsets when possible 2019-01-17 18:18:53 +00:00
optimized-setter-ios-device.m
optimized-setter.m
os_log.m [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue 2019-03-21 19:59:49 +00:00
overloadable.m
parameterized_classes.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
personality.m [CodeGen] Always use MSVC personality for windows-msvc targets 2018-06-08 00:41:01 +00:00
predefined-expr.m
private-extern-selector-reference.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
prop-metadata-gnu.m
property-aggregate.m
property-agrr-getter.m
property-array-type.m [opaque pointer types] Cleanup CGBuilder's Create*GEP. 2019-02-08 15:34:12 +00:00
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 [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
property-complex.m
property-dbg.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
property-getter-dot-syntax.m
property-incr-decr-1.m
property-list-in-class.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
property-list-in-extension.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +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][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
protocol-in-extended-class.m [CodeGen][ObjC] Remove the leading 'l' from symbols for protocol 2019-03-14 15:17:37 +00:00
protocol-property-synth.m
protocols-lazy.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
protocols.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
rdr-6732143-dangling-block-reference.m
related-result-type.m
reorder-synthesized-ivars.m [CodeGenObjC] Use a constant value for non-fragile ivar offsets when possible 2019-01-17 18:18:53 +00:00
return-objc-object.mm
runtime-abi-match.m [test] Fix run line to use correct triple 2018-05-18 21:59:29 +00:00
runtime-fns.m
section-name.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +00:00
sections.m [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and make 2019-05-09 17:43:52 +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 Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
stret.m
stret_lookup.m
strong-in-c-struct.m [CodeGen][ObjC] Adjust the addresses passed to calls to synthesized 2019-03-29 00:23:20 +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-check-debuglocs.m Ensure sanitizer check function calls have a !dbg location 2018-11-28 21:44:06 +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] Relax nullability-return for blocks with deduced types 2018-06-26 02:50:04 +00:00
undefined-protocol.m
undefined-protocol2.m [CodeGen][ObjC] Remove the leading 'l' from symbols for protocol 2019-03-14 15:17:37 +00:00
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-in-c-struct.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
weak-metaclass-visibility.m
x86_64-struct-return-gc.m