This is an archive of the discontinued LLVM Phabricator instance.

Create TargetRegisterInfo hook for allowing virtual registers after Regalloc
AbandonedPublic

Authored by dschuff on Dec 9 2015, 2:01 PM.

Details

Reviewers
sunfish
Summary

Virtual ISAs such as WebAssembly and NVPTX use infinite virtual register
sets instead of traditional phsyical registers. PrologEpilogInserter is
run after register allocation and asserts that all virtuals have been
allocated but doesn't depend on this if scavenging is not needed.

This change introduces a TRI hook for targets to allow virtual registers
after regalloc and allows PrologEpilogInserter to preserve the virtual
registers when not using scavenging.

Diff Detail

Event Timeline

dschuff updated this revision to Diff 42336.Dec 9 2015, 2:01 PM
dschuff retitled this revision from to Create TargetRegisterInfo hook for allowing virtual registers after Regalloc.
dschuff updated this object.
dschuff abandoned this revision.May 17 2016, 2:07 AM

Abandoned in favor of http://reviews.llvm.org/D18366.