HomePhabricator

[X86] Break the loop in LowerReturn into 2 loops. NFCI

Authored by craig.topper on Jan 24 2020, 2:35 PM.

Description

[X86] Break the loop in LowerReturn into 2 loops. NFCI

I believe for STRICT_FP I need to use a STRICT_FP_EXTEND for the extending to f80 for returning f32/f64 in 32-bit mode when SSE is enabled. The STRICT_FP_EXTEND node requires a Chain. I need to get that node onto the chain before any CopyToRegs are emitted. This is because all the CopyToRegs are glued and chained together. So I can't put a STRICT_FP_EXTEND on the chain between the glued nodes without also glueing the STRICT_ FP_EXTEND.

This patch moves all the extend creation to a first pass and then creates the copytoregs and fills out RetOps in a second pass.

Differential Revision: https://reviews.llvm.org/D72665

Details

Committed
craig.topperJan 24 2020, 2:44 PM
Differential Revision
D72665: [X86] Break the loop in LowerReturn into 2 loops.
Parents
rG70cbf8c71c51: [X86] Make `llc --help` output readable again
Branches
Unknown
Tags
Unknown