diff options
author | Wouter van Oortmerssen <aardappel@gmail.com> | 2021-03-25 16:04:10 -0700 |
---|---|---|
committer | Wouter van Oortmerssen <aardappel@gmail.com> | 2021-04-08 12:07:38 -0700 |
commit | 04e9cd09c888fdb14a40289808859c63985a476b (patch) | |
tree | 222ab72564ab6b590f2753f312503fb772364d0d /llvm/lib/Support/Signposts.cpp | |
parent | ce2db9005d701ffbd786f395ff8065ca9fdadea9 (diff) | |
download | llvm-04e9cd09c888fdb14a40289808859c63985a476b.zip llvm-04e9cd09c888fdb14a40289808859c63985a476b.tar.gz llvm-04e9cd09c888fdb14a40289808859c63985a476b.tar.bz2 |
[WebAssembly] Fix for PIC external symbol ISEL
wasm64 was missing DAG ISEL patterns for external symbol based global.get, but simply adding these analogous to the existing 32-bit versions doesn't work.
This is because we are conflating the 32-bit global index with the pointer represented by the external symbol, which for wasm32 happened to work.
The simplest fix is to pretend we have a 64-bit global index. This sounds incorrect, but is immaterial since once this index is stored as a MachineOperand it becomes 64-bit anyway (and has been all along). As such, the EmitInstrWithCustomInserter based implementation I experimented with become a no-op and no further changes in the C++ code are required.
Differential Revision: https://reviews.llvm.org/D99904
Diffstat (limited to 'llvm/lib/Support/Signposts.cpp')
0 files changed, 0 insertions, 0 deletions