Commit Graph

18 Commits

Author SHA1 Message Date
Erik Eckstein
bfe843fd92 Fix crash in post-dominator-tree verification. 2016-01-05 18:40:41 -08:00
practicalswift
50baf2e53b Use consistent formatting in top of file headers. 2016-01-04 02:17:48 +01:00
Zach Panzarino
e3a4147ac9 Update copyright date 2015-12-31 23:28:40 +00:00
Leo Shimonaka
70e66973ee Fix spelling error in documentation / comments / method name 2015-12-05 00:28:08 -05:00
Michael Gottesman
f9eab6243d Update LoopInfo for changes to LLVM.
The two changes were:

1. I added a graphtraits implementation for a const
DomTreeNodeBase<SILBasicBlock>.
2. LoopInfoBase::Analyze() => LoopInfoBase::analyze().

Swift SVN r31807
2015-09-09 04:37:25 +00:00
Michael Gottesman
eb6857aa88 Revert "Revert r29594 "Implement verification of dominance analysis.""
This reverts commit r29600.

Swift SVN r29602
2015-06-24 05:45:29 +00:00
Greg Parker
7088b2fe1b Revert r29594 "Implement verification of dominance analysis."
This broke some builders.


Swift SVN r29600
2015-06-24 05:05:46 +00:00
Michael Gottesman
0cc8706c1a Implement verification of dominance analysis.
Swift SVN r29594
2015-06-24 01:57:37 +00:00
Erik Eckstein
6d9a7a1045 Helper class for visiting basic blocks in dominance order.
It uses a worklist-based algorithm. In contrast to a recursive traversal algorithm,
it cannot cause a stack overflow for very deep dominator trees.



Swift SVN r24107
2014-12-23 09:09:34 +00:00
Michael Gottesman
a12880aa8c [dominance] Implement PostDominanceInfo::properlyDominates(SILInstruction *, SILInstruction *)
I am going to use this for dead store elimination in multi-bb load store optimization.

rdar://17680758

Swift SVN r20002
2014-07-16 04:26:00 +00:00
Arnold Schwaighofer
4a5ba0ff87 DominanceInfo: Add a verification function
Swift SVN r19629
2014-07-07 21:05:20 +00:00
Andrew Trick
53cbc3e858 Add a ColdBlockInfo analysis based on DominanceAnalysis.
This will be used by PerformanceInliner, GlobalOpt, and other passes in the future.

Swift SVN r19454
2014-07-02 06:35:09 +00:00
Arnold Schwaighofer
a14aa42ce1 SILLoopInfo: Implement SIL loop info analysis using LLVM's LoopInfo
Swift SVN r18718
2014-06-05 22:25:42 +00:00
Chris Lattner
94d4de408b adjust to llvm mainline changes.
Swift SVN r12226
2014-01-13 15:13:08 +00:00
Michael Gottesman
90082a51f1 Add in a swift namespace typedef DominanceInfoNode for llvm::DomTreeNodeBase<SILBasicBlock>.
This complements the DominanceInfo class.

Swift SVN r10736
2013-12-02 22:52:00 +00:00
Chris Lattner
a9e92a2b61 Expose basic post-dominance information.
Swift SVN r6421
2013-07-21 04:29:29 +00:00
John McCall
dd4f26c6dc It does seem to make non-generic assumptions about the node
type, though;  I had to define a WriteAsOperand function and
add a front() method to SILFunction to get this to work.
Rip out my dominators implementation and replace it with
LLVM's.  I'd forgotten that LLVM's was actually generic.

Swift SVN r4717
2013-04-12 21:24:27 +00:00
John McCall
3274de9c21 Add a simple dominance analysis based on Cooper, Harvey, and
Kennedy (2001).

This hasn't been tested yet.

Swift SVN r4712
2013-04-12 08:15:09 +00:00