Commit Graph

53 Commits

Author SHA1 Message Date
Michael Gottesman
81ab6382b9 Add a template specialization to PatternMatch::match for SILValue to eliminate need for match(&*Value) to match.
I also updated the relevant code to use match(Value) instead of match(&*Value).

Swift SVN r10659
2013-11-22 06:37:13 +00:00
Michael Gottesman
a18e25f314 Add SILArgument/SILUndef includes to PatternMatch.h since we generate matchers for SILArgument, SILUndef.
Swift SVN r10567
2013-11-19 23:34:40 +00:00
Michael Gottesman
fdebc3db11 [sil-combine] Port of LLVM's pattern matching infrastructure to SIL.
The attached patch is a port of LLVM's PatternMatch infrastructure for SIL.
LLVM's pattern matching infrastructure is how much of InstCombine is implemented
and the brevity of its pattern matching should be a boon to SILCombine's
implementation as well.

Many basic matchers have been implemented, but of course many more *could* be
implemented (i.e. this is a work in progress).

Swift SVN r9650
2013-10-24 19:25:58 +00:00