Adding code to identify core loop parts
Enough machinery to identify loop bounds
Refactoring the operation matching APIs