[LLVMdev] Rematerialization and spilling

Jakob Stoklund Olesen stoklund at 2pi.dk
Mon Jun 3 09:50:23 PDT 2013


On Jun 3, 2013, at 9:42 AM, Steve Montgomery <stephen.montgomery3 at btinternet.com> wrote:

> Hi Jakob,
> 
> thanks for the advice. I'll do as you suggest and make sure that CCR is never live.
> 
> I can use pseudo-instructions to bundle cmp+jump but it's not ideal because I might also have to bundle cmp+jump+jump+... into a pseudo. Also, there are several flavours of cmp instruction so I might need a lot of pseudos.
> 
> That's what led me to wonder whether MachineInstrBundles might be a neater solution but I wasn't sure whether they were really intended, or suitable, for this purpose.

That might be possible, at least the register allocator understands bundles.

Passes before register allocation are not bundle aware, including the MI scheduler. You may be able to form the bundles with some kind of MI scheduler plug-in.

/jakob




More information about the llvm-dev mailing list