diff options
author | Sam Clegg <sbc@chromium.org> | 2018-11-16 18:59:51 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2018-11-16 18:59:51 +0000 |
commit | 74f5fd4e32b8761045c8c0187f7cdf9b03301838 (patch) | |
tree | bd93db9b64e9a1fe1243dd940801c6f16d7ed40c /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | |
parent | 755577168ac1d61feff36287a1361bbb21e385c3 (diff) | |
download | llvm-74f5fd4e32b8761045c8c0187f7cdf9b03301838.zip llvm-74f5fd4e32b8761045c8c0187f7cdf9b03301838.tar.gz llvm-74f5fd4e32b8761045c8c0187f7cdf9b03301838.tar.bz2 |
[WebAssembly] Default to static reloc model
Differential Revision: https://reviews.llvm.org/D54637
llvm-svn: 347073
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp index 954c8a6..c28cfde 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp @@ -82,8 +82,12 @@ extern "C" void LLVMInitializeWebAssemblyTarget() { //===----------------------------------------------------------------------===// static Reloc::Model getEffectiveRelocModel(Optional<Reloc::Model> RM) { - if (!RM.hasValue()) - return Reloc::PIC_; + if (!RM.hasValue()) { + // Default to static relocation model. This should always be more optimial + // than PIC since the static linker can determine all global addresses and + // assume direct function calls. + return Reloc::Static; + } return *RM; } |