Actually, there is a time reference here; it's in the future, and in your case it's not explicit, but a notional time when you find out what happened. (If you like, you can think of it as the time when you and your conversation partner next get together with "him".) If you knew already that he had said his piece, then, yes, you would use a simple past, but you don't know that. You knew at one point in the past that he was going to, but it may or may not have happened, and if it did, you don't know for sure what what he said. "He'll have said" here means roughly "It will turn out that he said", and it is a future perfect construction, which you otherwise may have [will have?!] come across with an explicit time reference, e.g. "He will have arrived by the time we get there".