[LLVMdev] [global-isel] Proposal for a global instruction selector

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Aug 12 09:24:02 PDT 2013


On 8 August 2013 19:18, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> I am hoping that this proposal will generate a lot of feedback, and there
> are many different topics to discuss. When replying to this email, please
> change the subject header to something more specific, but keep the
> [global-isel] tag.

Sorry, looks like I cannot edit the subject line on gmail. The
question is fairly generic, so it is hopefully not too bad.

One of the nice properties of the LLVM IR is that it is complete. A FE
converts all the information it has to LLVM, and there is then no
going back to AST. This is what lets us serialize it and have language
independent tools to manipulate it.

The lower level IRs we currently use don't have that property. DAGs
and MI refer back to LLVM IR. This creates some redundancy and makes
serialization harder. It also creates problems when a pass wants to
modify information that is in the llvm IR. For example, we have a
memory leak in ARMFastISel.cpp:2194 :-(

So the question is if the plan is to make MI a "complete" IR, that we
can serialize independently of the LLVM IR, run a single pass on, etc.

Thanks,
Rafael



More information about the llvm-dev mailing list