- Aug 12, 2011
-
-
Dan Gohman authored
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
-
Dan Gohman authored
rather than plain postorder, so that CFG constructs like single-exit loops are reliably visited in a sensible order. llvm-svn: 137398
-
Andrew Trick authored
SCEV unrolling can unroll loops with arbitrary induction variables. It is a prerequisite for -disable-iv-rewrite performance. It is also easily handles loops of arbitrary structure including multiple exits and is generally more robust. This is under a temporary option to avoid affecting default behavior for the next couple of weeks. It is needed so that I can checkin unit tests for updateUnloop. llvm-svn: 137384
-
- Aug 11, 2011
-
-
Dan Gohman authored
llvm-svn: 137352
-
- Aug 10, 2011
-
-
Andrew Trick authored
llvm-svn: 137203
-
Andrew Trick authored
SimplifyIndVar utility since it is required. llvm-svn: 137202
-
Andrew Trick authored
based on ScalarEvolution without changing the induction variable phis. This utility is the main tool of IndVarSimplifyPass, but the pass also restructures induction variables in strange ways that are sensitive to pass ordering. This provides a way for other loop passes to simplify new uses of induction variables created during transformation. The utility may be used by any pass that preserves ScalarEvolution. Soon LoopUnroll will use it. The net effect in this checkin is to cleanup the IndVarSimplify pass by factoring out the SimplifyIndVar algorithm into a standalone utility. llvm-svn: 137197
-
Eli Friedman authored
llvm-svn: 137170
-
- Aug 06, 2011
-
-
Andrew Trick authored
recurrence, the initial values low bits can sometimes be ignored. To take advantage of this, added FoldIVUser to IndVarSimplify to fold an IV operand into a udiv/lshr if the operator doesn't affect the result. -indvars -disable-iv-rewrite now transforms i = phi i4 i1 = i0 + 1 idx = i1 >> (2 or more) i4 = i + 4 into i = phi i4 idx = i0 >> ... i4 = i + 4 llvm-svn: 137013
-
- Aug 04, 2011
-
-
Evan Cheng authored
llvm-svn: 136900
-
- Aug 02, 2011
-
-
Eli Friedman authored
llvm-svn: 136723
-
Owen Anderson authored
Revert r136503 and r136480 in an effort to fix non-determinism in the llvm-gcc buildbots on i386. Devang is looking into the root cause. llvm-svn: 136674
-
- Jul 31, 2011
-
-
Bill Wendling authored
This adds the 'resume' instruction class, IR parsing, and bitcode reading and writing. The 'resume' instruction resumes propagation of an existing (in-flight) exception whose unwinding was interrupted with a 'landingpad' instruction (to be added later). llvm-svn: 136589
-
- Jul 30, 2011
-
-
Bill Wendling authored
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444, r136445, r136446, r136253 pending review. llvm-svn: 136556
-
- Jul 29, 2011
-
-
Devang Patel authored
llvm-svn: 136503
-
Devang Patel authored
llvm-svn: 136480
-
Eli Friedman authored
working on x86 (at least for trivial testcases); other architectures will need more work so that they actually emit the appropriate instructions for orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC, Mips, and Alpha backends need such changes.) llvm-svn: 136457
-
Chandler Carruth authored
specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. llvm-svn: 136433
-
- Jul 28, 2011
-
-
Benjamin Kramer authored
llvm-svn: 136319
-
- Jul 27, 2011
-
-
Bill Wendling authored
This adds the new instructions 'landingpad' and 'resume'. llvm-svn: 136253
-
Eli Friedman authored
llvm-svn: 136205
-
- Jul 26, 2011
-
-
Nick Lewycky authored
llvm-svn: 136008
-
- Jul 25, 2011
-
-
Nick Lewycky authored
llvm-svn: 135973
-
Rafael Espindola authored
llvm-svn: 135966
-
Jay Foad authored
llvm-svn: 135904
-
- Jul 23, 2011
-
-
Andrew Trick authored
removes its dependence on canonical induction variables. llvm-svn: 135829
-
Andrew Trick authored
llvm-svn: 135828
-
Dan Gohman authored
so that a declaration for objc_retain is created when needed if it doesn't already exist. rdar://9825114. llvm-svn: 135821
-
- Jul 22, 2011
-
-
Dan Gohman authored
size but different element types, so that it filters out the cases that CreateShuffleVectorCast doesn't handle. This fixes rdar://9786827. llvm-svn: 135721
-
- Jul 21, 2011
-
-
Andrew Trick authored
llvm-svn: 135684
-
Jay Foad authored
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. llvm-svn: 135673
-
Chris Lattner authored
to for it to be an an anon namespace and be in a header. Eliminate some extraenous uses of tie. llvm-svn: 135669
-
-
Andrew Trick authored
rdar://9786536 llvm-svn: 135650
-
Andrew Trick authored
rdar://9786536 llvm-svn: 135644
-
- Jul 20, 2011
-
-
Eli Friedman authored
llvm-svn: 135625
-
Jay Foad authored
llvm-svn: 135581
-
Andrew Trick authored
llvm-svn: 135568
-
Andrew Trick authored
info. Holding Use* pointers is bad form even though it happened to work in this case. llvm-svn: 135566
-
Andrew Trick authored
llvm-svn: 135558
-