about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorStuart Pernsteiner <spernsteiner@mozilla.com>2014-08-01 10:29:44 -0700
committerStuart Pernsteiner <spernsteiner@mozilla.com>2014-09-05 09:18:57 -0700
commitedc5cdcba2c217d3a4d75801190cc34096ee80c2 (patch)
tree469ef4354b2ed7c75b4afc8b34d6f8f63fc87aa5 /src/rustllvm/ExecutionEngineWrapper.cpp
parente09bef810a95c82fa5de08872fccffdd5e0fe1e7 (diff)
downloadrust-edc5cdcba2c217d3a4d75801190cc34096ee80c2.tar.gz
rust-edc5cdcba2c217d3a4d75801190cc34096ee80c2.zip
make symbols internal when possible
Add a post-processing pass to `trans` that converts symbols from external to
internal when possible.  Translation with multiple compilation units initially
makes most symbols external, since it is not clear when translating a
definition whether that symbol will need to be accessed from another
compilation unit.  This final pass internalizes symbols that are not reachable
from other crates and not referenced from other compilation units, so that LLVM
can perform more aggressive optimizations on those symbols.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions