Alexey Samsonov
41b977dffd
Convert several loops over MachineFunction basic blocks to range-based loops
...
llvm-svn: 207683
2014-04-30 18:29:51 +00:00
Richard Smith
a4b7cfd64f
Remove C++11ism (specializing a template in a surrounding namespace) to appease the buildbots.
...
llvm-svn: 207136
2014-04-24 18:49:15 +00:00
Richard Smith
0d9ec713e7
[modules] "Specialize" a function by actually specializing a function template
...
rather than by adding an overload and hoping that it's declared before the code
that calls it. (In a modules build, it isn't.)
llvm-svn: 207133
2014-04-24 18:27:29 +00:00
Benjamin Kramer
4c93d15f09
Twinify GraphWriter a little bit.
...
llvm-svn: 144647
2011-11-15 16:26:38 +00:00
Anna Zaks
2c2aa9a9be
Function::getNumBlockIDs() should be used instead of Function::size() to set the upper limit on the block IDs since basic blocks might get removed (simplified away) after being initially numbered. Plus the test case, in which SelectionDAGBuilder::visitBr() calls llvm::MachineFunction::removeFromMBBNumbering(), which introduces the hole in numbering leading to an assert in llc (prior to the fix).
...
llvm-svn: 133113
2011-06-16 00:03:21 +00:00
Jakob Stoklund Olesen
ed47ed4e80
Build the Hopfield network incrementally when splitting global live ranges.
...
It is common for large live ranges to have few basic blocks with register uses
and many live-through blocks without any uses. This approach grows the Hopfield
network incrementally around the use blocks, completely avoiding checking
interference for some through blocks.
llvm-svn: 129188
2011-04-09 02:59:09 +00:00
Jakob Stoklund Olesen
f3ac733684
Add a hidden command line option to display edge bundle graphs as they are
...
calculated.
llvm-svn: 122912
2011-01-05 21:50:24 +00:00
Jakob Stoklund Olesen
f96ae684c4
Turn the EdgeBundles class into a stand-alone machine CFG analysis pass.
...
The analysis will be needed by both the greedy register allocator and the
X86FloatingPoint pass. It only needs to be computed once when the CFG doesn't
change.
This pass is very fast, usually showing up as 0.0% wall time.
llvm-svn: 122832
2011-01-04 21:10:05 +00:00