Even with llvm 3.4 it should still advertise OpenGL 3.1, if you're stuck at 2.1 it's most likely because of missing floating point textures. Are you passing --enable-texture-float to configure when building mesa?