[PATCH] D44030: [WebAssembly] Tidy up handling of global symbol relocations

Nicholas Wilson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 2 10:26:23 PST 2018


ncw created this revision.
ncw added reviewers: sunfish, dschuff.
Herald added subscribers: llvm-commits, aheejin, jgravelle-google, sbc100, jfb.

Currently global relocations are using their own fixup kind, which is odd since it's just a uleb32. That's because we're not tracking the difference between data and global symbols, which would enable us to process the fixup in the same way as all the other fixups.

Also, we're using some target flags already (like 0x1 to mean "function") which are just defined inline in the code and not in a header!

---

These changes are preliminary to the next commit which will add TLS (__thread_pointer) support.

I'm new to this area of the codebase, this might be all wrong! I think it looks sensible so far though.


Repository:
  rL LLVM

https://reviews.llvm.org/D44030

Files:
  include/llvm/MC/MCExpr.h
  lib/MC/MCExpr.cpp
  lib/MC/MCWasmStreamer.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyFixupKinds.h
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
  lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
  lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
  lib/Target/WebAssembly/WebAssemblyMCInstLower.h
  test/CodeGen/WebAssembly/byval.ll
  test/CodeGen/WebAssembly/reg-stackify.ll
  test/CodeGen/WebAssembly/stack-alignment.ll
  test/CodeGen/WebAssembly/userstack.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44030.136786.patch
Type: text/x-patch
Size: 26689 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180302/f70e01a1/attachment.bin>


More information about the llvm-commits mailing list