15bfd6d3ad739cca0a12049f3e7e94c3645ee881 |
|
14-Jul-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. This conversion was done with the following bash script: find test/Transforms -name "*.ll" | \ while read NAME; do echo "$NAME" if ! grep -q "^; *RUN: *llc" $NAME; then TEMP=`mktemp -t temp` cp $NAME $TEMP sed -n "s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p" < $NAME | \ while read FUNC; do sed -i '' "s/;\(.*\)\([A-Za-z0-9_]*\):\( *\)define\([^@]*\)@$FUNC\([( ]*\)\$/;\1\2-LABEL:\3define\4@$FUNC(/g" $TEMP done mv $TEMP $NAME fi done git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
f11a6856cc28875133cef0f7bbad2b7de3a83776 |
|
29-Apr-2013 |
Michael Gottesman <mgottesman@apple.com> |
[objc-arc] Apply the RV optimization to retains next to calls in ObjCARCContract instead of ObjCARCOpts. Turning retains into retainRV calls disrupts the data flow analysis in ObjCARCOpts. Thus we move it as late as we can by moving it into ObjCARCContract. We leave in the conversion from retainRV -> retain in ObjCARCOpt since it enables the dataflow analysis. rdar://10813093 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
2c2e85536d5020db3f64ab73b56ebe1bfd9aeb73 |
|
27-Apr-2013 |
Michael Gottesman <mgottesman@apple.com> |
[objc-arc] Test cleanups. Mainly adding paranoid checks for the closing brace of a function to help with FileCheck error readability. Also some other minor changes. No actual CHECK changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
1f9c4407c0e66f0c473ed5d6e3abcedda3a838c9 |
|
22-Mar-2013 |
John McCall <rjmccall@apple.com> |
Kill every call to @clang.arc.use in the ARC contract phase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
351b7a10e2560a835759748c58da09e53207b39d |
|
22-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Use references to attribute groups on the call/invoke instructions. Listing all of the attributes for the callee of a call/invoke instruction is way too much and makes the IR unreadable. Use references to attributes instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
e8c161a92451ad38919525ea73ae3c6936c24bdf |
|
12-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Fixed a bug where we were tail calling objc_autorelease causing an object to not be placed into an autorelease pool. The reason that this occurs is that tail calling objc_autorelease eventually tail calls -[NSObject autorelease] which supports fast autorelease. This can cause us to violate the semantic gaurantees of __autoreleasing variables that assignment to an __autoreleasing variables always yields an object that is placed into the innermost autorelease pool. The fix included in this patch works by: 1. In the peephole optimization function OptimizeIndividualFunctions, always remove tail call from objc_autorelease. 2. Whenever we convert to/from an objc_autorelease, set/unset the tail call keyword as appropriate. *NOTE* I also handled the case where objc_autorelease is converted in OptimizeReturns to an autoreleaseRV which still violates the ARC semantics. I will be removing that in a later patch and I wanted to make sure that the tree is in a consistent state vis-a-vis ARC always. Additionally some test cases are provided and all tests that have tail call marked objc_autorelease keywords have been modified so that tail call has been removed. *NOTE* One test fails due to a separate bug that I am going to commit soon. Thus I marked the check line TMP: instead of CHECK: so make check does not fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
6c189ecbe6d11583dc54289a2e8d8f35add01c82 |
|
13-Apr-2012 |
Dan Gohman <gohman@apple.com> |
Use the new Use-aware dominates method to apply the objc runtime library return value optimization for phi uses. Even when the phi itself is not dominated, the specific use may be dominated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|
9fbd318d36e618fb08fb53bb48b7c848e617a8a7 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
The ARC language-specific optimizer. Credit to Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/test/Transforms/ObjCARC/contract.ll
|