Commit Graph

6 Commits

Author SHA1 Message Date
Mark Lacey
0ee2a81abd Fix release build warning.
Swift SVN r23780
2014-12-08 21:19:52 +00:00
Andrew Trick
8996382660 IVAnalysis: Convert a check into an assert.
The def of a single operand instruction must be in the same SCC.

Swift SVN r23603
2014-12-02 01:07:44 +00:00
Joe Groff
e3f9a2035c SIL: Move SILGen and passes over to use "builtin" instead of "apply (builtin_function_ref)".
Swift SVN r22785
2014-10-15 23:37:22 +00:00
Arnold Schwaighofer
86d43be559 IndVars: Store the increment of an induction variable
Such that we don't need to repeat part of the analysis in ABCOpts.

No functionality change.

Swift SVN r21211
2014-08-14 18:18:38 +00:00
Mark Lacey
652bb85f55 Remove bogus assert and tighten up induction variable determination.
There was a (commented out) assert that the entry node to each SCC we
find would be a SILArgument. This is not always the case, so I removed
the assert and added a test case that demonstrates this.

I tightened up the IV recognition code a little bit as well.

Swift SVN r19885
2014-07-13 00:12:08 +00:00
Mark Lacey
021983017a Add a SIL SCC visitor and an induction variable analysis.
The induction variable analysis derives from the SCC visitor CRTP-style
and uses it to drive analysis to find the IVs of a function.

The current definition of induction variable is very weak, but enough to
use for very basic bounds-check elimination.

This is not quite ready for real use. There is an assert that I've
commented out that is firing but should not be, and that will require
some more investigation.

Swift SVN r19845
2014-07-11 02:48:03 +00:00