summaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineBlockPlacement.cpp
AgeCommit message (Expand)AuthorFilesLines
2012-10-09Create enums for the different attributes.Bill Wendling1-1/+2
2012-09-26Remove the `hasFnAttr' method from Function.Bill Wendling1-1/+1
2012-09-14Remove silly dead store. Patch by Ettl Martin.Duncan Sands1-2/+1
2012-08-07Add a much more conservative strategy for aligning branch targets.Chandler Carruth1-15/+49
2012-07-31Reverse order of the two branches at end of a basic block if it is profitable.Manman Ren1-1/+15
2012-06-26Update a bunch of stale comments that dated from when this folled theChandler Carruth1-14/+11
2012-06-02Fix typos found by http://github.com/lyda/misspell-checkBenjamin Kramer1-4/+4
2012-04-16Add a somewhat hacky heuristic to do something different from whole-loopChandler Carruth1-3/+78
2012-04-16Tweak the loop rotation logic to check whether the loop is naturallyChandler Carruth1-11/+51
2012-04-16Rewrite how machine block placement handles loop rotation.Chandler Carruth1-66/+70
2012-04-10Make a somewhat subtle change in the logic of block placement. SometimesChandler Carruth1-0/+12
2012-04-08Remove an over zealous assert. The assert was trying to catch placesChandler Carruth1-1/+0
2012-04-08Add a debug-only 'dump' method to the BlockChain structure to easeChandler Carruth1-0/+8
2012-02-08Codegen pass definition cleanup. No functionality.Andrew Trick1-12/+2
2011-12-21Revert patch from 147090. There is not point to make code less readable if weJakub Staszak1-43/+45
2011-12-21- Change a few operator[] to lookup which is cheaper.Jakub Staszak1-45/+43
2011-12-07Remove unneeded semicolon.Jakub Staszak1-3/+3
2011-12-07Remove unneeded type.Jakub Staszak1-2/+0
2011-12-06- Remove unneeded #includes.Jakub Staszak1-25/+4
2011-11-27Prevent rotating the blocks of a loop (and thus getting a backedge to beChandler Carruth1-0/+16
2011-11-27Take two on rotating the block ordering of loops. My previous attemptChandler Carruth1-85/+103
2011-11-27Fix an impressive type-o / spell-o Duncan noticed.Chandler Carruth1-1/+1
2011-11-27Rework a bit of the implementation of loop block rotation to not rely soChandler Carruth1-21/+31
2011-11-27Introduce a loop block rotation optimization to the new block placementChandler Carruth1-3/+92
2011-11-24Fix a silly use-after-free issue. A much earlier version of this codeChandler Carruth1-2/+2
2011-11-24When adding blocks to the list of those which no longer have any CFGChandler Carruth1-3/+3
2011-11-23Relax an invariant that block placement was trying to assert a bitChandler Carruth1-3/+1
2011-11-23Fix a crash in block placement due to an inner loop that happened to beChandler Carruth1-1/+4
2011-11-20The logic for breaking the CFG in the presence of hot successors didn'tChandler Carruth1-3/+29
2011-11-19Move the handling of unanalyzable branches out of the loop-driven chainChandler Carruth1-25/+33
2011-11-15Rather than trying to use the loop block sequence *or* the functionChandler Carruth1-27/+24
2011-11-14It helps to deallocate memory as well as allocate it. =] This actuallyChandler Carruth1-0/+1
2011-11-14Remove an over-eager assert that was firing on one of the ARM regressionChandler Carruth1-3/+6
2011-11-14Begin chipping away at one of the biggest quadratic-ish behaviors inChandler Carruth1-2/+26
2011-11-14Under the hood, MBPI is doing a linear scan of every successor everyChandler Carruth1-4/+13
2011-11-14Teach machine block placement to cope with unnatural loops. These don'tChandler Carruth1-21/+60
2011-11-13Cleanup some 80-columns violations and poor formatting. These snuck byChandler Carruth1-5/+9
2011-11-13Enhance the assertion mechanisms in place to make it easier to catchChandler Carruth1-5/+28
2011-11-13Teach MBP to force-merge layout successors for blocks with unanalyzableChandler Carruth1-3/+20
2011-11-13Hoist another gross nested loop into a helper method.Chandler Carruth1-23/+44
2011-11-13Add a missing doxygen comment for a helper method.Chandler Carruth1-0/+6
2011-11-13Hoist a nested loop into its own method.Chandler Carruth1-33/+53
2011-11-13Rewrite #3 of machine block placement. This is based somewhat on theChandler Carruth1-139/+256
2011-11-02Begin collecting some of the statistics for block placement discussed onChandler Carruth1-0/+83
2011-10-24Sink an otherwise unused variable's initializer into the asserts thatChandler Carruth1-3/+2
2011-10-23Now that we have comparison on probabilities, add some static functionsChandler Carruth1-8/+5
2011-10-23Remove a commented out line of code that snuck by my auditing.Chandler Carruth1-1/+0
2011-10-23Completely re-write the algorithm behind MachineBlockPlacement based onChandler Carruth1-399/+227
2011-10-21Add loop aligning to MachineBlockPlacement based on review discussion soChandler Carruth1-3/+39
2011-10-21Implement a block placement pass based on the branch probability andChandler Carruth1-0/+624