[PATCH] D38333: [X86] Fix using the SJLJ jump table on x86_64

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 29 04:56:21 PDT 2017


mstorsjo updated this revision to Diff 117123.
mstorsjo added a comment.

Fixed the issues in unoptimized builds; it took some time to figure out that I couldn't use `TargetOpcode::COPY` to zero-extend a 32 bit register into 64 bit, but had to use `TargetOpcode::SUBREG_TO_REG`. Also now using more virtual registers for each intermediate value instead of reusing them - this seemed to produce more sensible annotated output from different register allocators (and doesn't matter when using optimizations properly). But if you prefer, I can reduce it down to just using as many virtual registers as before.


https://reviews.llvm.org/D38333

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/sjlj-eh.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38333.117123.patch
Type: text/x-patch
Size: 3852 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170929/f703e811/attachment.bin>


More information about the llvm-commits mailing list