[PATCH] D86665: [GlobalISel][IRTranslator] Generate better conditional branch lowering.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 27 00:44:28 PDT 2020


aemerson added a comment.

In D86665#2240582 <https://reviews.llvm.org/D86665#2240582>, @arsenm wrote:

> I was actually just looking at the original globalisel proposal, and switches were intended to be directly translated into a G_SWITCH instruction. Would it be much effort to move this into a machine transformation?
>
> For AMDGPU we're stuck using LowerSwitch and control flow intrinsics, but in the near-ish future we can directly handle control flow here

Unfortunately we have a fair amount of shared code for doing the analysis for the jump table/bit test optimizations on the IR (in SwitchLoweringUtils). It seemed easier to share the code and pay the cost of doing this in the translator than to duplicate even more logic by having completely separate implementations. Myself I don't have the bandwidth to make such a large change even if we wanted to.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86665/new/

https://reviews.llvm.org/D86665



More information about the llvm-commits mailing list