diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2016-06-03 10:20:02 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2016-06-03 10:20:02 +0000 |
| commit | 0bc1515a034c358117aa4b5dc17b502ad9e4c27d (patch) | |
| tree | 42bf01c887b883c45ef4c5189659d3152f71ac24 /llvm/lib/Support/ScaledNumber.cpp | |
| parent | 38b4661b1bb17943b75b0034384dfcaa4fb151ec (diff) | |
| download | bcm5719-llvm-0bc1515a034c358117aa4b5dc17b502ad9e4c27d.tar.gz bcm5719-llvm-0bc1515a034c358117aa4b5dc17b502ad9e4c27d.zip | |
[LPM] Replace the CALL_ONCE_... macro in the legacy pass manager with
the new llvm::call_once facility.
This facility matches the standard APIs and when the platform supports
it actually directly uses the standard provided functionality. This is
both more efficient on some platforms and much more TSan friendly.
The only remaining user of the cas_flag and home-rolled atomics is the
fallback implementation of call_once. I have a patch that removes them
entirely, but it needs a Windows patch to land first.
This alone substantially cleans up the macros for the legacy pass
manager, and should subsume some of the work Mehdi was doing to clear
the path for TSan testing of ThinLTO, a really important step to have
reliable upstream testing of ThinLTO in all forms.
llvm-svn: 271652
Diffstat (limited to 'llvm/lib/Support/ScaledNumber.cpp')
0 files changed, 0 insertions, 0 deletions

