[llvm] r314876 - [X86] Fix using the SJLJ jump table on x86_64

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 5 11:50:25 PDT 2017


On Wed, 4 Oct 2017, Martin Storsjö via llvm-commits wrote:

> On Wed, 4 Oct 2017, Joerg Sonnenberger wrote:
>
>> On Wed, Oct 04, 2017 at 05:12:10AM -0000, Martin Storsjo via llvm-commits 
> wrote:
>>> Author: mstorsjo
>>> Date: Tue Oct  3 22:12:10 2017
>>> New Revision: 314876
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=314876&view=rev
>>> Log:
>>> [X86] Fix using the SJLJ jump table on x86_64
>>
>> Why is this duplicating the jump table lowering?
>
> I didn't know of a different way of doing it - seeing that the existing 
> code prior to this just did a manual X86::JMP32m with a memory operand, I 
> tried to extend it in a way making it work for these other formats as 
> well (and the issue wasn't raised in review either).
>
> How would I invoke the proper jump table lowering instead?

FWIW, I tried grepping more for this, and I did find that ISD::BR_JT 
probably is what I would need.

But that's on the SelectionDAG level, while this code here tries to build 
machine instructions - and I don't see how to hook in a SDNode here.

// Martin


More information about the llvm-commits mailing list