1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/docs/GlobalISel
Matt Arsenault 4a4ddffaf1 GlobalISel: Make type for lower action more consistently optional
Some of the lower implementations were relying on this, however the
type was not set depending on which form .lower* helper form you were
using. For instance, if you used an unconditonal lower(), the type was
never set. Most of the lower actions do not benefit from a type
parameter, and just expand in terms of the original operation's types.

However, some lowerings could benefit from an additional type hint to
combine a promotion and an expansion. An example of this is for
add/sub sat. The DAG integer legalization tries to use smarter
expansions directly when promoting the integer type, and doesn't
always produce the same instruction with a wider type.

Treat this as an optional hint argument, that only means something for
specific lower actions. It may be useful to generalize this mechanism
to pass a full list of type indexes and desired types, but I haven't
run into a case like that yet.
2020-08-17 16:24:55 -04:00
..
block-extract.png
GenericOpcode.rst [GlobalISel] Add G_ABS 2020-08-11 16:34:37 +01:00
GMIR.rst [docs] Fix typos 2020-08-09 19:31:49 -07:00
index.rst
InstructionSelect.rst
IRTranslator.rst
KnownBits.rst
Legalizer.rst GlobalISel: Make type for lower action more consistently optional 2020-08-17 16:24:55 -04:00
pipeline-overview-customized.png
pipeline-overview-with-combiners.png
pipeline-overview.png
Pipeline.rst
Porting.rst
RegBankSelect.rst
Resources.rst
testing-pass-level.png
testing-unit-level.png