[llvm-dev] How to inhibit jump table range check
bagel via llvm-dev
llvm-dev at lists.llvm.org
Sat Jun 20 18:39:18 PDT 2020
Thank you for your prompt reply. I will take a look at what you have done and
hopefully it will work for me. I would have preferred to eliminate the range
check at the point where it was generated instead of adding a pass later to
eliminate it. But I guess we have to live with what ever the implementers of
the two major architectures allow us to do.
Regards,
brian
On 6/20/20 12:52 AM, Thomas Lively wrote:
> Hi Brian,
>
> I actually solved this exact problem for the upstream WebAssembly backend in
> the last couple of weeks. I was originally going to use the OmitRangeCheck
> field, but after prompting from my reviewers on
> https://reviews.llvm.org/D80778 I ended up removing the range checks in the
> backend instead. You can see the pass I added to do that here:
> https://github.com/llvm/llvm-project/blob/master/llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp I
> think it probably wouldn't be too hard to adapt that pass to a different
> backend, but feel free to reach out if you have any questions about it!
>
> Best,
>
> Thomas
>
> On Fri, Jun 19, 2020 at 12:55 PM Bagel via llvm-dev <llvm-dev at lists.llvm.org
> <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> I am working on a back end for an architecture whose jump via table
> instruction
> includes the range check. Therefore I don't need the range check
> generated (in
> SelectionDAGBuilder ?).
>
> There appears to be a struct JumpTableHeader which contains a field
> OmitRangeCheck which, when true, does what I want. However, there doesn't
> appear to be a mechanism for a back end to set it.
>
> Anyone have any ideas?
>
> Thanks,
> brian
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
More information about the llvm-dev
mailing list