Generating Performance Models for Irregular Applications