What drove up compensation in banking in the 2000s was inaccurate compensation reporting. Pay in banking is one's status, so everyone would claim to have received top bonus when applying to private equity jobs or trying to make a lateral move. This meant that whatever bonus was paid to the top 5% of each year would be claimed by everyone in that year. That ratcheted up pay expectations over time. Banks actually liked this, because the high pay enabled them to make entry-level conditions and hours even worse, but most companies wouldn't be able to afford that process.
In the long run, I think that salary discovery by inaccurate gossip is more expensive and volatile than full transparency, and I can't think of a good reason why, in any company, everyone shouldn't have access to everyone else's base compensation (performance bonuses can be private; the range should be public but not the amount.)