Talk to him and find out what you have done wrong and then improve your relationship on what the answer is. Remember men/boys don't like clingy girls so maybe back off a bit and give him some time to think things over because if he really loves you he won't leave you.
You need to sit back and figure out what is making him push away. Consider the times you were happily together and figure out what things have changes in your lifestyles. It could be that you demand for his attention so much and guys hate nagging behavior. Just talk to him and ask him to open up with you and tell you what you do that he does not like.
Sounds like you two both have issues. He's seeing you as being upset all the time and to him he probably doesn't get what the issue is and is just tired of it. But I'm guessing you have a reason for being upset. Discuss whatever's behind these issues and figure out when/what started all the problems. If you two are well aware of the "problem" and just hoping its gonna go away of fix itself then things will never get better.
We (guys) don't do "feelings". (Cue that sappy song by Morris Albert now.) We can't relate to your "feelings". Either you are happy & in love with us or not. We can relate to that. Like: the beer is cold enough. Or not. Or, the paycheck was big enough. Or not. Or, out team won. Or not. Your "feelings" are all over the place (I'll bet) & have him confused. And when we're confused, we don't know what to do for you or with you. We can't win. If we can't win, we take our ball(s) & go home.
If you're "upset" all the time, then something is bothering YOU. Take some time and figure out what that is without talking to your boyfriend about it (since it only aggravates him). Once you know what is bothering YOU, then you can talk to him about it specifically. Or maybe you're upset because the relationship just isn't working and you can't face it. In any case if YOU are upset, then YOU need to figure out why.