HomePhabricator

[globalisel][tablegen] Import stores and allow GISel to automatically…

Description

[globalisel][tablegen] Import stores and allow GISel to automatically substitute zero regs like WZR/XZR/$zero.

This patch enables the import of stores. Unfortunately, doing so by itself,
loses an optimization where storing 0 to memory makes use of WZR/XZR.

To mitigate this, this patch also introduces a new feature that allows register
operands to nominate a zero register. When this is done, GlobalISel will
substitute (G_CONSTANT 0) with the nominated register automatically. This
is currently configured to only apply to the stores.

Applying it to GPR32/GPR64 register classes in general will be done after
review see (https://reviews.llvm.org/D39150).

Details

Committed
dsandersOct 23 2017, 11:19 AM
Parents
rL316359: Accidently merged an incomplete upstream patch in…
Branches
Unknown
Tags
Unknown