Grigor Dimitrov is two wins away from a first ATP title in six years after reaching the semi-finals of the Shanghai Masters.