cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
80ccd9ea59b8911f12836da98aceedce4ebc6a6f |
|
17-Nov-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Utils/LoopUnroll.cpp: Tweak (StringRef)OldName to be valid until it is used, since r194601. eraseFromParent() invalidates OldName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
a305ffb65becc1031abbf85e70aec8fb3c337986 |
|
13-Nov-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Use StringRef instead of std::string git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
94ee55d4b39d6506cf4e0f4e4b1c0b7fbbfeaed5 |
|
16-Sep-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace some unnecessary vector copies with references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
124737685676daae7a560e4884375ae2fb6b7f3d |
|
05-Jun-2012 |
Andrew Trick <atrick@apple.com> |
LoopUnroll: always check for NULL LoopPassManager git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
b78d83d837fc72a6565f186b0ad92d48cdfdb805 |
|
08-May-2012 |
Andrew Trick <atrick@apple.com> |
Allow NULL LoopPassManager argument in UnrollLoop. PR12734. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
d9fc1ce8096f7138c60edc3a6655583bf209780e |
|
10-Apr-2012 |
Andrew Trick <atrick@apple.com> |
Fix 12513: Loop unrolling breaks with indirect branches. Take this opportunity to generalize the indirectbr bailout logic for loop transformations. CFG transformations will never get indirectbr right, and there's no point trying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
1da282764aa8f155973769b44e4d5e67a0420af9 |
|
16-Dec-2011 |
Andrew Trick <atrick@apple.com> |
Avoid a confusing assert for silly options: -unroll-runtime -unroll-count=1. No need for an explicit test case for an unsupported combination of options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
5d73448bb7f3d326f310e6f35030821b103b1cdb |
|
09-Dec-2011 |
Andrew Trick <atrick@apple.com> |
Add -unroll-runtime for unrolling loops with run-time trip counts. Patch by Brendon Cahoon! This extends the existing LoopUnroll and LoopUnrollPass. Brendon measured no regressions in the llvm test suite with -unroll-runtime enabled. This implementation works by using the existing loop unrolling code to unroll the loop by a power-of-two (default 8). It generates an if-then-else sequence of code prior to the loop to execute the extra iterations before entering the unrolled loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
7cb3dcb927a8f8a872cdf309f78cd80e197d2f14 |
|
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Comments. Thanks for the spell check Nick! Also, my apologies for spoiling the autocomplete on SimplifyInstructions.cpp. I couldn't think of a better filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
39f40299a6efc06747db0de53deb9be248913998 |
|
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Invoke SimplifyIndVar when we partially unroll a loop. Fixes PR10534. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
2d31ae3d9dfb153f081a5521374b2b42befd50a1 |
|
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Cleanup. Added LoopBlocksDFS::perform for simple clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
b1eede12818d91a32adac928c6fffcf6d2800dc0 |
|
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Fix the LoopUnroller to handle nontrivial loops and partial unrolling. These are not individual bug fixes. I had to rewrite a good chunk of the unroller to make it sane. I think it was getting lucky on trivial completely unrolled loops with no early exits. I included some fairly simple unit tests for partial unrolling. I didn't do much stress testing, so it may not be perfect, but should be usable now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
70d0ca999c7a2ef07ea39d26d67b5df57e6e6496 |
|
09-Aug-2011 |
Andrew Trick <atrick@apple.com> |
LoopUnroll looks like it has some stale code. Remove it to prove my sanity and avoid further confusion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
1009c3299be8c147ecd3fbd2d75ba1bafb2c84b1 |
|
03-Aug-2011 |
Andrew Trick <atrick@apple.com> |
SCEV: Use AssertingVH to catch dangling BasicBlock* when passes forget to notify SCEV of a change. Add forgetLoop in a couple of those places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
478849e98ca4661d77c1d6f3f96e8b28e1183fbd |
|
26-Jul-2011 |
Andrew Trick <atrick@apple.com> |
Add clarifying comments for the new arguments to UnrollLoop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
2045ce154a69b8f251d3a5259324528f0def337b |
|
23-Jul-2011 |
Andrew Trick <atrick@apple.com> |
Move trip count discovery outside of the generic LoopUnroll helper. This removes its dependence on canonical induction variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
ba03377fa171d2340bfff2ec817e62ec09eab992 |
|
23-Jul-2011 |
Andrew Trick <atrick@apple.com> |
whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
95c3e48f9557adb6064d580684bb14cacec2f826 |
|
23-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Reinstate r133513 (reverted in r133700) with an additional fix for a -Wshorten-64-to-32 warning in Instructions.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
e59fbc04ad343435705c28b3cf7038d65fe4af0a |
|
23-Jun-2011 |
Eric Christopher <echristo@apple.com> |
Revert r133513: "Reinstate r133435 and r133449 (reverted in r133499) now that the clang self-hosted build failure has been fixed (r133512)." Due to some additional warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
9ee714789e7fa2eff314bca10ded0323e48d1def |
|
21-Jun-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
cd35e09a4a3c640b9da0b1dfe3548a605c929ae5 |
|
21-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Reinstate r133435 and r133449 (reverted in r133499) now that the clang self-hosted build failure has been fixed (r133512). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
a88a0ca8082006b37d14d8aee4a644b20bae8bc9 |
|
21-Jun-2011 |
Chad Rosier <mcrosier@apple.com> |
Revert r133435 and r133449 to appease buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
72f5f313d87558958696ce69593d82efcdfa9128 |
|
20-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Change how PHINodes store their operands. Change PHINodes to store simple pointers to their incoming basic blocks, instead of full-blown Uses. Note that this loses an optimization in SplitCriticalEdge(), because we can no longer walk the use list of a BasicBlock to find phi nodes. See the comment I removed starting "However, the foreach loop is slow for blocks with lots of predecessors". Extend replaceAllUsesWith() on a BasicBlock to also update any phi nodes in the block's successors. This mimics what would have happened when PHINodes were proper Users of their incoming blocks. (Note that this only works if OldBB->replaceAllUsesWith(NewBB) is called when OldBB still has a terminator instruction, so it still has some successors.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
f5ebfb0d2852e70f11ca7b8d11f704a1378756d8 |
|
18-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
Don't unroll loops whose header block's address is taken. This is part of a futile attempt to not "break" bizzaro code like this: l1: printf("l1: %p\n", &&l1); ++x; if( x < 3 ) goto l1; Previously we'd fold &&l1 to 1, which is fine per our semantics but not helpful to the user. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
b298db72531e607c4c4db31df3373f74a9b983b1 |
|
11-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
random cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
8f9ffbd056172da470bcd3a9f1d5b4c2414fce59 |
|
07-Jan-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove all uses of the "ugly" method BranchInst::setUnconditionalDest(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
b6133d148312a3ec15beb67c2f49a21e5082b666 |
|
23-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Replace calls to ConstantFoldInstruction with calls to SimplifyInstruction in two places that are really interested in simplified instructions, not constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
1ed219a9d2279ce5a5bbcf16d9b7ccc05cce638c |
|
13-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Be more consistent in using ValueToValueMapTy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
572365ec88aeb78908acb7efe381e45ab0b4a50a |
|
26-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Preserve ScalarEvolution in the loop unroller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
e9916a302f1bacad234d7dafc1df3dc968a6ba0f |
|
24-Jun-2010 |
Devang Patel <dpatel@apple.com> |
Use ValueMap instead of DenseMap. The ValueMapper used by various cloning utility maps MDNodes also. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
29d3dd8a64791031eea00ffbae51843dc9982df9 |
|
24-Jun-2010 |
Devang Patel <dpatel@apple.com> |
Cosmetic change. Do not use "ValueMap" as a name for a local variable or an argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
3943084136b71934ae62e240c256494b4589584f |
|
21-Apr-2010 |
Devang Patel <dpatel@apple.com> |
Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no replationship with ADT/ValueMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
bbf81d88116d23fb0776412b5916f7d0b8b3ca7e |
|
10-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Add a DominatorTree argument to isLCSSA so that it doesn't have to compute a set of reachable blocks for itself each time it is called, which is fairly frequently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
5deb57c68552a85094b786dfdbd16e3744716733 |
|
27-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't bother with sprintf, just pass the Twine through. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
a9ad9c24ae9921db4b245ce887159da943588f92 |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
92329c7fbe572892c17aa2d2542a10e3ea16132f |
|
18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
7b550ccfc5a3346c17e0390a59e2d6d19bc52705 |
|
06-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of extraneous LLVMContext arguments from various APIs, addressing PR5325. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
692ad8dd0630f80babeb631ec8ae5bf6b54456cd |
|
05-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Teach LoopUnroll how to bail if LoopSimplify can't give it what it needs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
438b583dbd20f63b70d0b5abb7780a50bf03dd83 |
|
31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Revert r85667. LoopUnroll currently can't call utility functions which auto-update the DominatorTree because it doesn't keep the DominatorTree current while it works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
f230d8ad15f7ad5cdc5f3950b9d4f0c773d0bac0 |
|
31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive, and makes it unnecessary for LoopUnroll to have its own copy of this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
b56c966019db6b186221ff7dd695603ac1d0bc70 |
|
31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Simplify this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|
928a75f057fc5efa74d6fc512449bddb10df20ff |
|
31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Rename UnrollLoop.cpp to LoopUnroll.cpp, and LoopUnroll.cpp to LoopUnrollPass.cpp, for consistency with other passes which are similarly split. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/LoopUnroll.cpp
|