1dd8c8560d45d36a8e507cd014352f1d313f9f9e |
|
08-Feb-2012 |
Andrew Trick <atrick@apple.com> |
Codegen pass definition cleanup. No functionality. Moving toward a uniform style of pass definition to allow easier target configuration. Globally declare Pass ID. Globally declare pass initializer. Use INITIALIZE_PASS consistently. Add a call to the initializer from CodeGen.cpp. Remove redundant "createPass" functions and "getPassName" methods. While cleaning up declarations, cleaned up comments (sorry for large diff). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
f7af396c9571e4efe944c5bf739bce667f99556a |
|
02-Mar-2011 |
Cameron Zwarich <zwarich@apple.com> |
Fix some typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
ba1fe142450f46b44deccb21c8b422bc02b32d8b |
|
08-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Add some basic debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
49d7f8d341a7b4137c674ce0f08f5b18e8195f4a |
|
18-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Make CodePlacementOpt detect special EH control flow by checking whether AnalyzeBranch disagrees with the CFG directly, rather than looking for EH_LABEL instructions. EH_LABEL instructions aren't always at the end of the block, due to FP_REG_KILL and other things. This fixes an infinite loop compiling MultiSource/Benchmarks/Bullet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
f3b11aa6a72e0c31066a60c2e888e7a5eb5f2399 |
|
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix several comments which had previously been "the the" where a different word was intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
f451cb870efcf9e0302d25ed05f4cac6bb494e42 |
|
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
518bb53485df640d7b7e3f6b0544099020c42aa7 |
|
09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
ebc0c8cc6dc5716c554775fe0514fd3e4a4d3db9 |
|
25-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Remove dead store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
7896c9f436a4eda5ec15e882a7505ba482a2fcd0 |
|
03-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
improve portability to avoid conflicting with std::next in c++'0x. Patch by Howard Hinnant! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
7707a0df5b00c8326a581205639d6b2871f182e9 |
|
12-Nov-2009 |
Jim Grosbach <grosbach@apple.com> |
Move the utility function UpdateTerminator() from CodePlacementOpt() into MachineBasicBlock so other passes can utilize it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
07adb85cb7f97968b3b9a102e5fa504a5f6ac682 |
|
20-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are tracked. Instead of trying to manually keep track of these locations while doing complex modifications, just recompute them when they're needed. This fixes a bug in which the TopMBB and BotMBB were not correctly updated, leading to invalid transformations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
766fc1db1640499c6affce80e7337d8c22dc8cb1 |
|
19-Oct-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
c499e32b371faf02cbd17e03bad2a42b93ade82a |
|
18-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix my -Asserts warning fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
afc158780089a3d9c1bfe78de77855dfdd901bd0 |
|
17-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
Suppress -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
3bdd8de2806e47f34369c1e6ce6e6b44a135bd29 |
|
17-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic to be more general and understand more varieties of loops. Teach CodePlacementOpt to reorganize the basic blocks of a loop so that they are contiguous. This also includes a fair amount of logic for preserving fall-through edges while doing so. This fixes a BranchFolding-ism where blocks which can't be made to use a fall-through edge and don't conveniently fit anywhere nearby get tossed out to the end of the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
cd2ae14ce3f16f0cef162aa85707f32295c4ee3d |
|
15-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Make CodePlacementOpt align loops, rather than loop headers. The header is just the entry block to the loop, and it needn't be at the top of the loop in the code layout. Remove the code that suppressed loop alignment for outer loops, so that outer loops are aligned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
bd31b173d276cb488b5fa72de8d42ae192cbfc97 |
|
07-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Fix this comment. The loop header is the loop entry point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
8ad05c4bdf2739742131adbab247e5c8ee0df857 |
|
18-May-2009 |
Bob Wilson <bob.wilson@apple.com> |
Fix CodePlacementOpt::OptimizeIntraLoopEdges so that its return value correctly indicates whether it changed the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
6ebf7bc7405ee79d27d50b70f0c1a474cbea820d |
|
13-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Run code placement optimization for targets that want it (arm and x86 for now). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
9d3094b38e51c85e93fc5a9c8ab23c95b73f78d4 |
|
13-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
If header of inner loop is aligned, do not align the outer loop header. We don't want to add nops in the outer loop for the sake of aligning the inner loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
74b0ccc577062a25b8b3ab99b13cd1efa6e3a75a |
|
12-May-2009 |
Bob Wilson <bob.wilson@apple.com> |
Fix pr4195: When iterating through predecessor blocks, break out of the loop after finding the (unique) layout predecessor. Sometimes a block may be listed more than once, and processing it more than once in this loop can lead to inconsistent values for FtTBB/FtFBB, since the AnalyzeBranch method does not clear these values. There's no point in continuing the loop regardless. The testcase for this is reduced from the 2003-05-02-DependentPHI SingleSource test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
5374405dc12673e6c07869132faf7b837e95dc79 |
|
09-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Oops. Don't forget to align single bb loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
f045f80ba9af29fc8e0409201ad66c8f2e1a527c |
|
09-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Enable loop bb placement optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
0269d3cbf37227c48b7ce0f9710f0c6a15ff6fa9 |
|
08-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Don't align loop header unless the loop back edge is below the header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
4b7f7a6e1f3eacf116472c1b0d0eaddf01fa4495 |
|
08-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Reverse branch condition only when there is a conditional branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
0ab2dcee5bf751211ca1fc49decb1540b4cb427c |
|
08-May-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Add explicit braces to disambiguate nested if/else. Removes a warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
45e0010e14d419ebeca9266b9b705867fd251b83 |
|
08-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Optimize code placement in loop to eliminate unconditional branches or move unconditional branch to the outside of the loop. e.g. /// A: /// ... /// <fallthrough to B> /// /// B: --> loop header /// ... /// jcc <cond> C, [exit] /// /// C: /// ... /// jmp B /// /// ==> /// /// A: /// ... /// jmp B /// /// C: --> new loop header /// ... /// <fallthough to B> /// /// B: /// ... /// jcc <cond> C, [exit] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
7132e12ee5658aa2b8ba6cdd81adb7944ddcb33e |
|
07-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Code refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|
bbf1db72133e9cf986e4da6260736335533067db |
|
07-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Rename "loop aligner" pass to "code placement optimization" pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/CodePlacementOpt.cpp
|