- User Since
- Dec 4 2013, 1:37 PM (284 w, 3 d)
Thu, May 16
We discussed this before, but we already break the base ObjC rules since the runtime elides the autorelease message send in MRR when it's possible to perform the retainRV/autoreleaseRV optimization, which only happens when the caller (or a caller higher up in the call-chain if it's tail-called) is compiled with ARC. IIUC, the only semantic change we''ll be making if we emit an objc_autoreleaseReturnValue call instead of an objc_autorelease call is that we no longer guarantee that the message send will happen when the class overrides the autorelease method, which we do guarantee with calls to objc_autorelease (see objc_object::autorelease and objc_object::rootAutorelease in the link below).
Wed, May 15
Run the main ARC optimization passes when ObjCNoBuiltinRetainRelease is not set.
Sat, May 11
Someone reminded me that I could replace the MRR call to objc_autorelease with the ARC call to objc_autoreleaseReturnValue in the front-end. I'm going to try that idea.
Fri, May 10
Just call EmitCallOrInvoke.
Thu, May 9
Update the comment in CheckCXXThrowOperand.
Address review comments.
Wed, May 8
Move the code that was in AlignedExceptionObject.h to getExnObjectAlignment and remove the header.
Tue, May 7
Define helper function getLinkageTypeForObjCMetadata.
Fri, May 3
Make sure private linkage is replaced with internal linkage only when the object file format is MachO.
Thu, May 2
- Instead of passing a flag to CreateMetadataVar that indicates the section is in segment __DATA, just scan the section name string inside CreateMetadataVar.
- Fix test case ns-constant-strings.m.
Address review comments.
Tue, Apr 30
Disable the warning for ObjC methods.
Thu, Apr 25
Yes, I guess we can make -Wunused-parameter cover unused parameters of pure @implementation methods too since users can probably just remove them to silence the warning.
Wed, Apr 24
The test case I'm looking at has a function with over 500k instructions and lots of ObjC runtime function calls.
Tue, Apr 23
Fri, Apr 19
Fix the comment on why we have to check the size of the basic block before calling DominatorTree::dominate to compute the dominance relation between two instructions in the same basic block.
Apr 18 2019
Apr 17 2019
Diagnose implicitly retained self in ActOnFinishFunctionBody.
Remove a potentially expensive check.
Apr 16 2019
Keep a list of pairs of BlockDecl and SourceLocation and, after the body of an ObjC method is parsed, emit a diagnostic if a SourceLocation in the list is inside an escaping block.
Apr 15 2019
Sorry, clang was failing to diagnose self referenced inside a c++ lambda that was nested inside a block.
Apr 12 2019
Apr 9 2019
Just one minor comment, but otherwise the patch looks good to me.