[LLVMdev] History of register allocator and more
Fernando Magno Quintao Pereira
fernando at CS.UCLA.EDU
Sat Jul 7 22:52:41 PDT 2007
Guys, I have two questions. The first is mostly to Alkis, Evan and Chris.
I am writing a talk about register allocators, and I wish I could know a
little of the history of LLVM's RA. If you guys are fine with that, I will
add it to the talk. Basically, I wish I could have information like when
was it made, how long did it take to complete the first release, how much
it has been changed since the first release, how many people worked in the
code, did it have anything that was innovative for the time of release,
etc.
Second question: I am trying to implement swaps of floating point
registers, but I do not know how to do it. I am basically trying something
like:
// r1 and r2 are unsigned of either class X86::FR32RegClass
// or X86::FR64RegClass
unsigned Opc = X86::FXCH;
BuildMI(mbb, mi, Opc, 1).addReg(r1);
BuildMI(mbb, mi, Opc, 1).addReg(r2);
BuildMI(mbb, mi, Opc, 1).addReg(r1);
This produces code like: "fxch %xmm0", that gcc does not compile. Could
some generous soul shed some light on my misery?
best,
Fernando
More information about the llvm-dev
mailing list