diff options
author | Sam Clegg <sbc@chromium.org> | 2022-03-07 15:50:30 -0800 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2022-03-15 17:50:05 -0700 |
commit | 4690bf2ed31b06e8403a1e7790e9739becabd4f6 (patch) | |
tree | 97d48b46a593a92f5bddc086bb39e2f2e51cbb2c /llvm/lib/CodeGen/MachineModuleInfo.cpp | |
parent | 384e890dd3a3feeaa482dd973f5cadcf465fe7ec (diff) | |
download | llvm-4690bf2ed31b06e8403a1e7790e9739becabd4f6.zip llvm-4690bf2ed31b06e8403a1e7790e9739becabd4f6.tar.gz llvm-4690bf2ed31b06e8403a1e7790e9739becabd4f6.tar.bz2 |
[lld][WebAssembly] Take advantage of extended const expressions when available
In particular we use these in two places:
1. When building PIC code we no longer need to combine output segments
into a single segment that can be initialized at `__memory_base`.
Instead each segment can encode its offset from `__memory_base` in
its initializer. e.g.
```
(i32.add (global.get __memory_base) (i32.const offset)
```
2. When building PIC code we no longer need to relocation internalized
global addresses. We can just initialize them with their correct
offsets.
Differential Revision: https://reviews.llvm.org/D121420
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions