Looper
Joseph Gordon-Levitt and Bruce Willis play young and older versions of the same hitman who is trying to take down a crime boss who ruins their lives in the future. They end up realizing that the crime boss wouldn't become the monster he was if his mother hadn't died, so to prevent that, Levitt's character kills himself which then kills Willis.