| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
autorelease push+pop pairs.
llvm-svn: 148330
|
|
|
|
|
|
| |
necessary)
llvm-svn: 148284
|
|
|
|
| |
llvm-svn: 148164
|
|
|
|
|
|
|
|
| |
the optimizer doesn't eliminate objc_retainBlock calls which are needed
for their side effect of copying blocks onto the heap.
This implements rdar://10361249.
llvm-svn: 148076
|
|
|
|
|
|
| |
an invalid iterator aren't reproducible. rdar://10614085.
llvm-svn: 147098
|
|
|
|
|
|
| |
point to ARC-managed pointers sometimes. This fixes rdar://10551239.
llvm-svn: 146577
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
detected in the forward-CFG DFS. This prevents the reverse-CFG from
visiting blocks inside loops after blocks that dominate them in the
case where loops have multiple exits.
No testcase, because this fixes a bug which in practice only shows
up in a full optimizer run, due to the use-list order.
This fixes rdar://10422791 and others.
llvm-svn: 146408
|
|
|
|
| |
llvm-svn: 146389
|
|
|
|
| |
llvm-svn: 146385
|
|
|
|
| |
llvm-svn: 146384
|
|
|
|
| |
llvm-svn: 146383
|
|
|
|
| |
llvm-svn: 146380
|
|
|
|
|
|
|
| |
tag on objc_retainBlock calls, which indicates that they may be
optimized away. rdar://10211286.
llvm-svn: 142298
|
|
|
|
|
|
|
| |
possibility that it will span multiple CFG diamonds/triangles which
could have different controlling predicates. rdar://10282956
llvm-svn: 142222
|
|
|
|
|
|
|
| |
handle the case where the retain is in a different basic block.
rdar://10210274.
llvm-svn: 140815
|
|
|
|
|
|
|
| |
objc_retainBlock call is potentially responsible for copying
the block to the heap to extend its lifetime. rdar://10209613.
llvm-svn: 140814
|
|
|
|
|
|
| |
which could theoretically throw.
llvm-svn: 139710
|
|
|
|
|
|
| |
in memory relevant to the optimizer. rdar://10050579.
llvm-svn: 139708
|
|
|
|
|
|
|
|
| |
No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic.
I believe this completes all of the changes necessary for the optimizer to handle loads and stores correctly. I'm going to try and come up with some additional testing, though.
llvm-svn: 139533
|
|
|
|
|
|
| |
getFirstNonPHI so that it will skip over the landingpad instructions as well.
llvm-svn: 138537
|
|
|
|
| |
llvm-svn: 138243
|
|
|
|
| |
llvm-svn: 138242
|
|
|
|
|
|
|
|
| |
known-incremented level, because the two concepts can be used
to prove the saftey of a retain+release removal in different
ways.
llvm-svn: 138016
|
|
|
|
| |
llvm-svn: 137985
|
|
|
|
|
|
| |
is returned through a bitcast.
llvm-svn: 137402
|
|
|
|
|
|
|
|
|
| |
the retains and releases all use the same SSA pointer value.
Also, don't let CFG hazards disrupt nested retain+release pair
optimizations.
llvm-svn: 137399
|
|
|
|
|
|
|
| |
rather than plain postorder, so that CFG constructs like single-exit loops
are reliably visited in a sensible order.
llvm-svn: 137398
|
|
|
|
| |
llvm-svn: 137352
|
|
|
|
| |
llvm-svn: 136900
|
|
|
|
|
|
|
| |
so that a declaration for objc_retain is created when needed if it doesn't
already exist. rdar://9825114.
llvm-svn: 135821
|
|
|
|
| |
llvm-svn: 135375
|
|
|
|
| |
llvm-svn: 135265
|
|
|
|
|
|
| |
StructType::get() and TargetData::getIntPtrType().
llvm-svn: 134982
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
an assert on Darwin llvm-gcc builds.
Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
ne 2067.
etc.
http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354
--- Reverse-merging r134893 into '.':
U include/llvm/Target/TargetData.h
U include/llvm/DerivedTypes.h
U tools/bugpoint/ExtractFunction.cpp
U unittests/Support/TypeBuilderTest.cpp
U lib/Target/ARM/ARMGlobalMerge.cpp
U lib/Target/TargetData.cpp
U lib/VMCore/Constants.cpp
U lib/VMCore/Type.cpp
U lib/VMCore/Core.cpp
U lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Instrumentation/ProfilingUtils.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/CodeGen/SjLjEHPrepare.cpp
--- Reverse-merging r134888 into '.':
G include/llvm/DerivedTypes.h
U include/llvm/Support/TypeBuilder.h
U include/llvm/Intrinsics.h
U unittests/Analysis/ScalarEvolutionTest.cpp
U unittests/ExecutionEngine/JIT/JITTest.cpp
U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
U unittests/VMCore/PassManagerTest.cpp
G unittests/Support/TypeBuilderTest.cpp
U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
U lib/VMCore/IRBuilder.cpp
G lib/VMCore/Type.cpp
U lib/VMCore/Function.cpp
G lib/VMCore/Core.cpp
U lib/VMCore/Module.cpp
U lib/AsmParser/LLParser.cpp
U lib/Transforms/Utils/CloneFunction.cpp
G lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Utils/InlineFunction.cpp
U lib/Transforms/Instrumentation/GCOVProfiling.cpp
U lib/Transforms/Scalar/ObjCARC.cpp
U lib/Transforms/Scalar/SimplifyLibCalls.cpp
U lib/Transforms/Scalar/MemCpyOptimizer.cpp
G lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/Transforms/IPO/ArgumentPromotion.cpp
U lib/Transforms/InstCombine/InstCombineCompares.cpp
U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
U lib/Transforms/InstCombine/InstCombineCalls.cpp
U lib/CodeGen/DwarfEHPrepare.cpp
U lib/CodeGen/IntrinsicLowering.cpp
U lib/Bitcode/Reader/BitcodeReader.cpp
llvm-svn: 134949
|
|
|
|
| |
llvm-svn: 134888
|
|
|
|
|
|
| |
functions do not appear in the module.
llvm-svn: 133478
|
|
|
|
|
|
| |
than trying to insert them immediately after the invoke.
llvm-svn: 133188
|
|
llvm-svn: 133108
|