SWIRL++ : Evaluating Performance Models to Guide Code Transformation in Convolutional Neural Networks