This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Emit TBNZ with G_BRCOND where the condition is SLT
ClosedPublic

Authored by paquette on Feb 5 2020, 1:58 PM.

Details

Reviewers
aemerson
Summary

When we have a G_ICMP which checks SLT, and the comparison is against 0, we can emit a TBNZ instead of a CBZ.

This lets us fold in things into the branch, which can provide some code size savings.

This is similar to the case in AArch64TargetLowering::LowerBR_CC.

Diff Detail

Event Timeline

paquette created this revision.Feb 5 2020, 1:58 PM
aemerson accepted this revision.Feb 5 2020, 2:45 PM

LGTM.

This revision is now accepted and ready to land.Feb 5 2020, 2:45 PM
paquette closed this revision.Feb 5 2020, 4:38 PM

I think I forgot to type the Differential Revision bit here.

https://reviews.llvm.org/rGa37384140729