aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/COFFObjectFile.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-10-02 22:23:14 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-10-02 22:23:14 +0000
commit7425c8c279a78e074831626fe880202dae67f30d (patch)
treef73e736632a001cc8809d0c0e021b45859671379 /llvm/lib/Object/COFFObjectFile.cpp
parent99bd3cba8b75f79c3ecaa22e341381c98b799200 (diff)
downloadllvm-7425c8c279a78e074831626fe880202dae67f30d.zip
llvm-7425c8c279a78e074831626fe880202dae67f30d.tar.gz
llvm-7425c8c279a78e074831626fe880202dae67f30d.tar.bz2
Fix the threshold added in r186434 (a re-apply of r185393) and updaated
to be a ManagedStatic in r218163 to not be a global variable written and read to from within the innards of SpillPlacement. This will fix a really scary race condition for anyone that has two copies of LLVM running spill placement concurrently. Yikes! This will also fix a really significant compile time hit that r218163 caused because the spill placement threshold read is actually in the *very* hot path of this code. The memory fence on each read was showing up as huge compile time regressions when spilling is responsible for most of the compile time. For example, optimizing sanitized code showed over 50% compile time regressions here. =/ llvm-svn: 218921
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions