Implement block placement (#1549)
* Implement block placement Implement a simple pass which re-orders cold blocks at the end of the list of blocks in the CFG. * Set PPTC version * Use Array.Resize Address gdkchan's feedback
This commit is contained in:
parent
1eea35554c
commit
f60033e0aa
11 changed files with 136 additions and 31 deletions
|
@ -5,10 +5,12 @@ namespace ARMeilleure.IntermediateRepresentation
|
|||
{
|
||||
class BasicBlock : IIntrusiveListNode<BasicBlock>
|
||||
{
|
||||
private readonly List<BasicBlock> _successors = new List<BasicBlock>();
|
||||
private readonly List<BasicBlock> _successors;
|
||||
|
||||
public int Index { get; set; }
|
||||
|
||||
public BasicBlockFrequency Frequency { get; set; }
|
||||
|
||||
public BasicBlock ListPrevious { get; set; }
|
||||
public BasicBlock ListNext { get; set; }
|
||||
|
||||
|
@ -25,6 +27,8 @@ namespace ARMeilleure.IntermediateRepresentation
|
|||
|
||||
public BasicBlock(int index)
|
||||
{
|
||||
_successors = new List<BasicBlock>();
|
||||
|
||||
Operations = new IntrusiveList<Node>();
|
||||
Predecessors = new List<BasicBlock>();
|
||||
DominanceFrontiers = new HashSet<BasicBlock>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue