In GLM we have a overloaded '*' operator for multiplying matrices.
We can do matrix multiplication like this with using this operator in GLM:
glm::mat4 MVP = Projection * View * Model;
//after that pass MVP to uniform 'MVP'
But in other way, we can pass Projection, View and Model to three different uniforms and do multiplication in shader program.
GLM runs on CPU but shader programs run on GPU. Because of architecture of GPU, we can do matrix operations more faster than CPU in shader programs.
But i can't be sure. Which way is faster?